#java #изображения
Помогите найти ошибку package com.example.test; import java.awt.Color; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class LoadImage { /** подгружаем картику */ public static BufferedImage loadImage() throws IOException{ return ImageIO.read(new File ("1.bmp")); } /** Переводим в матрицу */ public static void convertToMatrix(BufferedImage image){ int w = image.getWidth(); int h = image.getHeight(); System.out.println(w); System.out.println(h); } } package com.example.test; public static void main(String[] args) { try { LoadImage.convertToMatrix(LoadImage.loadImage()); } catch (Throwable e) { e.printStackTrace(); } } Вот код ошибки: javax.imageio.IIOException: Can't read input file! at javax.imageio.ImageIO.read(ImageIO.java:1301) at com.example.test.LoadImage.loadImage(LoadImage.java:16) at com.example.test.Test.main(Test.java:10) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) Process finished with exit code 0 Я так понимаю, оно не видит картинку?
Ответы
Ответ 1
Вам же всё написал компилятор. IOException - проверяемое исключение. Вы обязаны либо обернуть его в try/catch либо дописать в функцию throws Exception. В данном примере 2 вариант не походит, поэтому пишите как-то так: public static void main(String[] args) { try { LoadImage.convertToMatrix(LoadImage.loadImage()); } catch (Throwable e){ e.printStackTrace(); } }Ответ 2
В дополнение к предыдущему ответу. IDE - это штука, не только помогающая писать код. Она ещё и обучает, и в режиме реального времени отвечает на вопросы уровня того, что был задан в первой редакции. Например, так: Вы можете самостоятельно попробовать оба варианта исправления, посмотреть как они делаются (код будет сгенерирован автоматически) и к чему приведут. javax.imageio.IIOException: Can't read input file! Я так понимаю, оно не видит картинку? Сложно как-то по-другому интерпретировать это сообщение...
Комментариев нет:
Отправить комментарий