Eclipse 中的 Java:我应该在文件系统上放置要使用 getResource 加载的文件的哪个位置?(例如,图像图标的图像)

2022-08-31 20:37:25

我知道文件需要位于getClass().getResource(文件名)可以找到它的地方,但我不知道它在哪里。

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


答案 1

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

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

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

重要的是要注意,如果您在 Eclipse 中打开了“自动构建”(就像大多数人所做的那样),则此目录中在 Eclipse 之外更改的任何资源(即,您使用图像编辑工具编辑图像),IDE 可能并不总是检测到此更改。通常,在这些情况下,对项目文件夹执行刷新将确保在生成中更新文件。


答案 2

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

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


推荐