Eclipse中的Java:我在哪里把文件放在我想用getResource加载的文件系统上? (例如ImageIcon的图像)

我知道该文件需要在getClass()。getResource(文件名)可以find它,但我不知道在哪里。

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

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

您也可以将图像/文件放置在与尝试访问它的类相同的文件夹/包中(例如:将com.mycompany包中的image.png放入需要访问的com.mycompany.Foo类它并调用getResource("image.png") ),但我发现将类似图像和其他文件的资源保存在类文件夹之外的特殊目录中更容易 – 它们更容易pipe理。

在Eclipse中,无论何时执行构build,此资源目录中的文件都将与编译的类一起复制到构build目录中。

需要注意的是,如果您在Eclipse中打开了“自动构build”(如大多数人所做的那样),则此目录中的所有资源都会在Eclipse之外被更改(即,使用图像编辑工具编辑图像)始终检测到这一变化。 通常在项目文件夹中进行刷新将确保在这些情况下文件在构build中得到更新。

你可以把它们放在你的类旁边的src文件夹中,或者你可以创build一个新的源文件夹(通常称为资源 ),虽然你可以从代码中find它们。

然后你使用getResource("/com/x/y/foo.png")得到他们。