我有以下项目树:
我可以使用以下命令访问路径中的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 !
我做错了什么?
答案 0 :(得分:4)
您已在Eclipse中将src
和resources2
目录声明为源文件夹。
当Eclipse构建您的应用程序时,它会将资源复制到build
文件夹,因此:
dk.resources
包的文件可通过/dk/resources/290.gif
resources2
文件夹的文件不在任何软件包中,可通过/290.gif
如果您希望通过/resources2/290.gif
访问该文件,请在resource2
文件夹下创建名为src
的包。
答案 1 :(得分:2)
似乎文件夹src
和resources2
都在构建路径中。你试过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找出文件或目录的路径或沿目录树移动。