使用 getResource()获取资源

我需要得到一个 Java 项目中的资源图像文件。我正在做的是:

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

目录结构如下:

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

事实是,我总是得到,因为文件不存在。我尝试了很多不同的方法,但是我不能解决这个问题。 有线索吗?

221851 次浏览
TestGameTable.class.getResource("/unibo/lsb/res/dice.jpg");
  • 前导斜杠表示类路径的根
  • 用斜线代替路径上的圆点
  • 您可以直接在类上调用 getResource()

而不是显式写入您可以使用的类名

this.getClass().getResource("/unibo/lsb/res/dice.jpg");

如果使用 static方法调用,请使用:

TestGameTable.class.getClassLoader().getResource("dice.jpg");

需要记住的一点是,这里的相关路径是与类的文件系统位置相关的路径... ... 在您的例子中是 TestGameTable.同学们。它与 TestGameTable.爪哇咖啡文件的位置无关。
我在这里留下了一个更详细的答案... < a href = “ https://stackoverflow./a/41781868/7394973”> 资源实际上位于哪里