我的资源文件夹应该放在一个可运行的jar中?

时间:2012-09-16 16:12:01

标签: java resources

在eclipse中,我有一个项目,我正在使用我称之为资源的资源,例如

URL url = FighterComponent.class.getResource("/gfx/characters/");
File file = new File(url.getPath() + info.name + "/" + frame.path);

/ gfx /是res中的文件夹。 res是我通过这样做链接的资源文件夹:

运行>运行配置...>类路径>选择用户条目>高级>添加文件夹

我现在的问题是,在我将项目导出到一个可运行的jar中之后,res文件夹应该放在哪里,以便我的朋友能够测试它?我尝试将它放在与我的jar相同的文件夹中并放在我的jar中,因为这两个URL都是null。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

如果名称以'/' ('\u002f')开头,则资源的绝对名称是'/'后面的名称部分。

因此,你应该在jar文件中有一个gfx / characters目录。在此目录下,如果您有image.jpg资源,则必须使用以下命令检索它:

URL url = TheClass.class.getResource("/gfx/characters/image.jpg");

您还可以使用getResourceAsStream()获取可以阅读的InputStream

答案 1 :(得分:0)

你可以把它放在罐子的根部。然后,人们将能够通过/res/gfx/..

访问资源