java getResource() не работает
Это сводит меня с ума.
У меня есть проект NetBeans в папке со следующей структурой:
MyProject
---- build
---- src
---- resources
В src мой код находится в пакетах. То, что я пытаюсь сделать, это использовать
getClass().getResource("/resources/new.png");
Из класса в пакете com.мой.пакет, но он просто отказывается работать! Тот самый " новый.png " изображение находится в папке resources.
Я что-то упустил?
После долгих игр вокруг и перемещения "нового.png " изображение здесь и там, чтобы увидеть, когда он найдет изображение, он, наконец, работал, но только когда я помещаю изображение в папку сборки.
Итак, что я должен сделать, чтобы это сработало ?
Edit: извините, неверная строка в параметре метода. Исправлено сейчас
2 ответов:
Я не знаком с NetBeans, но проблема, вероятно, в том, что папка
resources(или корень проекта, если на то пошло) не находится на пути к классу, В отличие отbuild.Необходимо настроить NetBeans для добавления корневой папки или
resourcesв путь к классу и загрузки файла относительно этого пути.Смотрите также этот вопрос: Java - getClassLoader().getResource () сводит меня с ума
Это прекрасно работает:
BufferedImage image = ImageIO.read(getClass().getClassLoader().getResourceAsStream("file_name"));
Comments