使用getResource()获取资源

我需要在java项目中获取资源图像文件。 我正在做的是:

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

目录结构如下:

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

事实是,我总是得到文件不存在。 我尝试过很多不同的path,但是我无法解决这个问题。 任何提示?

 TestGameTable.class.getResource("/unibo/lsb/res/dice.jpg"); 
  • 引导斜线来表示类path的根
  • 斜线而不是path中的点
  • 你可以直接在类上调用getResource()

而不是显式编写你可以使用的类名

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

如果你是从静态方法调用,使用:TestGameTable.class.getClassLoader()。getResource(“dice.jpg”);

有一点要记住的是,这里的相关path是相对于你的类的文件系统位置的path…在你的情况TestGameTable。 上课 。 它与TestGameTable的位置无关。 java文件。
我在这里留下了更详细的答案… 资源实际位于哪里