Java: получение исключения «Ошибка файла, а не файл изображения» при попытке прочитать изображение - PullRequest
0 голосов
/ 20 сентября 2019

В моей программе была эта короткая подпрограмма, хорошо работающая на Java 7 и Windows 7 для чтения файлов изображений .jpeg.

Я обновил Java до версии 12 и теперь использую Windows 10 ион не может больше читать .jpeg файл.Я использую обычный .jpeg файл RGB 8 и 12 бит.Мне интересно, доступен ли новый класс сейчас, но я не могу найти информацию о нем.

 /*
  * Get image subroutine
  */
 BufferedImage img = null;
 try {
     img = ImageIO.read(new File(InputFolder + name));

     /*
      * Get dimension subroutine
      */
     int imagewidth = img.getWidth();
     int imageheight = img.getHeight();

     System.out.println("     retrieving width of " + name + " .... " + imagewidth);
     System.out.println("     retriving height of " + name + " .... " + imageheight);
     /*textArea1.append("\n    retrieving width of "+name+" .... \n"+imagewidth); 
       textArea1.append("\n    retriving height of "+name+" .... \n"+imageheight);*/

У меня будет исключение, говорящее «Ошибка файла, а не файл изображения..Aborted .. Все файлы могут быть открыты с помощью фоторедактора, такого как Photoshop.

Это новый код. Я всегда получал -1 для ширины и длины.

try {
                    MediaTracker mt = new MediaTracker(new JPanel());
                    Image img = Toolkit.getDefaultToolkit().getImage(InputFolder + name);
                    mt.addImage(img, 0);
                    System.out.println("Wait image to be load to retrieve info...");
                    mt.waitForAll();
                    System.out.println("Loaded");


                    /**
                     * Get dimension subroutine
                     */
                    System.out.println(" Get Width & Height ");


                    int imagewidth = img.getWidth(this);
                    int imageheight = img.getHeight(this);

1 Ответ

0 голосов
/ 20 сентября 2019

Как уже упоминалось в ответе здесь

Попробуйте использовать Toolkit createImage (), getImage () вместо ImageIO.read ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...