我知道文件需要在getClass().getResource(filename)可以找到它的位置,但我不知道它在哪里.
我对将文件放在文件系统本身的位置以及如何使用Eclipse的功能来设置资源感兴趣.
对于Eclipse,通常您需要做的就是在源代码目录中的某个位置设置一个文件夹.例如,如果包含您的源的目录是,/src
那么您可以创建一个/src/resources
文件夹来放置您的图像/文件.然后,在您的类中,您执行getResource("/resources/image.png")
检索它.
您也可以将图像/文件放在与尝试访问它的类相同的文件夹/包中(例如:将image.png放在com.mycompany
包中com.mycompany.Foo
,需要访问它并调用它getResource("image.png")
),但是我我们发现将类似图像和其他文件的资源保存在类文件夹之外的特殊目录中更容易 - 它们更容易以这种方式进行管理.
在Eclipse中,无论何时进行构建,此资源目录中的文件都将与编译的类一起复制到构建目录中.
重要的是要注意,如果你在Eclipse中打开了"自动构建"(就像大多数人那样),这个目录中的任何资源都会在Eclipse之外被更改(即你使用图像编辑工具编辑图像)IDE可能没有总是检测到这种变化.通常在项目文件夹上刷新将确保在这些情况下在构建中更新文件.
您可以将它们放在类的旁边的src文件夹中,也可以为此目的创建一个新的源文件夹(通常称为资源),尽管您可以从代码中找到它们.
然后你使用他们getResource("/com/x/y/foo.png")
.