#java
Здравствуйте, такая проблем: пытаюсь запустить код: Image image = null; File file = new File("tmp/assets/icon.png"); try { image = ImageIO.read(file); } catch (IOException e) { e.printStackTrace(); } и получаю: javax.imageio.IIOException: Can't read input file! Но при этом: bufferedimage = Toolkit.getDefaultToolkit().getImage("tmp/assets/icon.png"); работает нормально. Вопрос - по какой причине первый способ может не открывать файл? P.S. Файловая структура: tmp |->assets | |->icon.png | |->FileWithPublicClass.java В обоих случаях IDE говорит, что файл используется.
Ответы
Ответ 1
Ответ: Программа в обоих случаях работала неккоректно. Пути к файлам необходимо указывать оносительно корня проекта, а не относительно пакета, в котором используется изображение. Т.е. в моем случае: File file = new File("src/tmp/assets/icon.png"); Image image = ImageIO.read(file); или Image image = Toolkit.getDefaultToolkit().getImage("src/tmp/assets/icon.png");
Комментариев нет:
Отправить комментарий