Eclipse中的Java:我在哪里将文件放在我想要使用getResource加载的文件系统上? (例如ImageIcon的图像)
-
06-07-2019 - |
题
我知道文件需要在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文件夹中,也可以为此目的创建一个新的源文件夹(通常称为 resources ),尽管您可以从代码中找到它们。
然后你使用 getResource(" /com/x/y/foo.png")
来获取它们。