3

在 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 都是空的。

任何的想法 ?

4

2 回答 2

2

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

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

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

您还可以使用getResourceAsStream()来获取InputStream可以读取的内容。

于 2012-09-16T16:19:57.910 回答
0

您可以将它放在 jar 的根目录下。然后人们将能够通过以下方式访问资源/res/gfx/..

于 2012-09-16T16:16:50.220 回答