Вопрос-ответ

Get a resource using getResource()

Получить ресурс с помощью getResource()

Мне нужно получить файл образа ресурса в проекте Java. Что я делаю, так это:

URL url = TestGameTable.class.getClass().
getClassLoader().getResource("unibo.lsb.res/dice.jpg");

Структура каталогов следующая:

unibo/
lsb/
res/
dice.jpg
test/
..../ /* other packages */

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

Переведено автоматически
Ответ 1
TestGameTable.class.getResource("/unibo/lsb/res/dice.jpg");

  • начальная косая черта для обозначения корня пути к классу

  • косые черты вместо точек в пути

  • вы можете вызвать getResource() непосредственно в классе.

Ответ 2

Вместо явного указания имени класса вы могли бы использовать

this.getClass().getResource("/unibo/lsb/res/dice.jpg");
Ответ 3

если вы вызываете из static метода, используйте :

TestGameTable.class.getClassLoader().getResource("dice.jpg");
Ответ 4

Следует иметь в виду, что соответствующий путь здесь - это путь относительно расположения вашего класса в файловой системе... в вашем случае TestGameTable.класс. Это не связано с расположением TestGameTable.java файл.
Я оставил более подробный ответ здесь... где на самом деле находится ресурс

java