getClass (). getResource не находит файл изображения - PullRequest
0 голосов
/ 23 мая 2018

Мой класс IntroState.java имеет следующий путь:

Project/src/GameState/IntroState.java

Мое изображение находится по адресу:

Project/Resources/Images/logo.png

Папка Resources является исходной папкой.Я использую Eclipse кислород.

Я пытаюсь загрузить его:

new BufferedImage image = ImageIO.read(getClass().getResource("/Images/logo.png");

Я получаю NullPointerException, когда запускаю его.Этот код хорошо работал в старом проекте, но мой ноутбук умер, и мне пришлось переустановить Eclipse и повторить мой код, с тех пор он перестал работать.Кто-нибудь видит проблему?я пробовал много разных путей, у меня такое ощущение, что некоторые из моих настроек Eclipse могут быть неправильными.

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Вы должны прочитать файл как поток

Попробуйте использовать:

getClass().getClassLoader().getResourceAsStream("Images/logo.png")

или

getClass().getClassLoader().getResource("Images/logo.png")
0 голосов
/ 23 мая 2018

Будет искать изображение в зависимости от местоположения класса.Так как класс GamesState.Introstate находится в Project / src (на самом деле в eclipse он, вероятно, находится в Project / bin), он будет искать изображение в Project / src / Images / logo.png при использовании пути / Images /logo.png

...