51

我知道该文件需要位于 getClass().getResource(filename) 可以找到它的位置,但我不知道那在哪里。

我对将文件放在文件系统本身的什么位置以及如何使用 Eclipse 的功能来设置资源都很感兴趣。

4

2 回答 2

62

对于 Eclipse,通常您需要做的就是在源代码目录中的某个位置设置一个文件夹。例如,如果包含您的源的目录是,/src那么您可以创建一个/src/resources文件夹来放置您的图像/文件。然后,在您的类中,您getResource("/resources/image.png")可以检索它。

如果您愿意,您还可以将图像/文件放在与尝试访问它的类相同的文件夹/包中(例如:将 image.png与需要访问它com.mycompany的类一起放在包中并调用),但我我们发现将图像和其他文件等资源保存在类文件夹之外的它们自己的特殊目录中更容易——它们只是更容易管理。com.mycompany.FoogetResource("image.png")

在 Eclipse 中,每当您进行构建时,此资源目录中的文件将与您编译的类一起复制到您的构建目录中。

重要的是要注意,如果您在 Eclipse 中启用了“自动构建”(大多数人都这样做),那么此目录中的任何资源在 Eclipse 之外都会被更改(即您使用图像编辑工具编辑图像)IDE 可能不会始终检测到这种变化。通常在项目文件夹上进行刷新将确保文件在这些情况下在构建中得到更新。

于 2008-11-06T21:40:10.300 回答
8

您可以将它们放在类旁边的 src 文件夹中,也可以为此目的创建一个新的源文件夹(通常称为resources),尽管您可以从代码中找到相同的位置。

然后你使用getResource("/com/x/y/foo.png").

于 2008-11-06T20:45:58.990 回答