使用 getResource() 获取资源

发布于 2024-08-28 12:01:49 字数 344 浏览 10 评论 0原文

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

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

目录结构如下:

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

事实上,我总是得到文件不存在的信息。我尝试了很多不同的路径,但无法解决问题。 有什么提示吗?

I need to get a resource image file in a java project. What I'm doing is:

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

The directory structure is the following:

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

The fact is that I always get as the file doesn't exist. I have tried many different paths, but I couldn't solve the issue.
Any hint?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

云仙小弟 2024-09-04 12:01:49
TestGameTable.class.getResource("/unibo/lsb/res/dice.jpg");
  • 前导斜杠表示类路径的根
  • 斜杠而不是路径中的点,
  • 您可以直接在类上调用 getResource()
TestGameTable.class.getResource("/unibo/lsb/res/dice.jpg");
  • leading slash to denote the root of the classpath
  • slashes instead of dots in the path
  • you can call getResource() directly on the class.
芯好空 2024-09-04 12:01:49

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

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

Instead of explicitly writing the class name you could use

this.getClass().getResource("/unibo/lsb/res/dice.jpg");
别理我 2024-09-04 12:01:49

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

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

if you are calling from static method, use :

TestGameTable.class.getClassLoader().getResource("dice.jpg");
站稳脚跟 2024-09-04 12:01:49

要记住的一件事是,这里的相关路径是相对于类的文件系统位置的路径...在您的例子中是 TestGameTable.class。它与 TestGameTable.java 文件的位置无关。
我在这里留下了更详细的答案... 资源实际位于哪里

One thing to keep in mind is that the relevant path here is the path relative to the file system location of your class... in your case TestGameTable.class. It is not related to the location of the TestGameTable.java file.
I left a more detailed answer here... where is resource actually located

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文