Проблема с использованием ImageIO.read

Хорошо, у меня есть изображение, которое я пытаюсь прочитать. Проблема в том, что Image.read (файл) возвращает NULL.

File file = new File("C:\\images\\image1.jpg");
if(file.exists()){
    System.out.println("Image file exists.");
    BufferedImage originalImage = ImageIO.read(file);

}

Итак, образ существует, но ImageIO.read (файл) возвращает NULL. Никаких ошибок нет !!! Что происходит?

Это то, что я пробовал до сих пор:

  1. Хорошо, моя среда - Windows 7. Я протестировано с одним из тех изображений, которые поставляется с Windows и может прочтите изображение.
  2. Файл image1.jpg был создан другая система. Теперь уверен, какой метод они используют.
  3. Я попытался преобразовать изображение в RGB, как предлагается здесь текст ссылки но не получается: «Не файл JPEG: начинается с 0x4d 0x4d».
  4. Расширение изображения - .jpg, но Windows говорит, что это тип JPEG? это сбивает с толку.

Может кто-нибудь помочь с этим? Я новичок в этом, не знаю, как это исправить.

Хорошо, я только что понял, что ImageIO.getImageReaders (stream) возвращает пустой Iterator. Значит, не удалось найти подходящего ридера? Как мне читать это изображение?

12
задан Community 23 May 2017 в 12:32
поделиться