无法使用getResources()方法访问资源

时间:2012-06-20 13:48:13

标签: java getresource

我有以下项目树:

enter image description here

我可以使用以下命令访问路径中的290.gif文件: Java GUI / src / dk / resources / 290.gif

this.getClass().getResource("/dk/resources/290.gif")

但我无法使用以下命令访问路径中的290.gif文件: Java GUI / resources2 / 290.gif

this.getClass().getResource("/resources2/290.gif")

我正在尝试从HelloWorldFrame.java类访问290.gif文件。 我想在路径中访问290.gif文件: Java GUI / resources2 / 290.gif

我做错了什么?

3 个答案:

答案 0 :(得分:4)

您已在Eclipse中将srcresources2目录声明为源文件夹。 当Eclipse构建您的应用程序时,它会将资源复制到build文件夹,因此:

  • 来自dk.resources 的文件可通过/dk/resources/290.gif
  • 访问
  • 来自resources2 文件夹的文件不在任何软件包中,可通过/290.gif
  • 访问

如果您希望通过/resources2/290.gif访问该文件,请在resource2文件夹下创建名为src的包。

答案 1 :(得分:2)

似乎文件夹srcresources2都在构建路径中。你试过this.getClass().getResource("/290.gif")吗?

答案 2 :(得分:0)

在工件运行时,您可以使用

访问资源
InputStream resource = SomeClass.class.getResourceAsStream("<file or directory name"))

URL resource = SomeClass.class.getResource("<file or directory name"))

其中SomeClass是工件中的一个类。第一种方法将为您提供一个可用于读取文件内容的InputStream,第二种方式将返回一个URL,您可以使用该URL找出文件或目录的路径或沿目录树移动。