如何在Jar文件中使用2个不同的res文件夹

时间:2013-11-10 06:54:46

标签: java jar imageicon

我有一个在Eclipse中运行完美的程序。树看起来像这样:

PROGRAM
--SRC
----all my java files...
--res1
---- null.jpg
--res2
---- null.jpg

两个null.jpg是不同的,但是当我尝试移动到jar文件时,它们被合并,然后我不能像我通常所说的那样使用它们。有没有办法在res文件中创建jar文件夹,允许我正常访问我的文件?

另外要获取我在我的程序中使用此代码的图片:

Imageicon i = new ImageIcon("res1/null.jpg");

(是的,我知道上面的代码不适用于jar文件,因为它们会从res1文件夹移到null.jpg文件夹中。我试图使用:
new ImageIcon(getClass().getResource("null.jpg")); ,但这对我不起作用......)

此外,我不能像null1和null2那样使用,因为我有300张图片。所以这对我来说不是一个解决方案......

任何帮助将不胜感激!谢谢!

2 个答案:

答案 0 :(得分:2)

首先,确保项目的结构与最终在jar文件中的结构相同。比如果它在eclipse中工作,它也可以使用jar文件。

所以将目录结构更改为:

- src
- resources
  |- res1
  |  \- null.jpg
  \- res2
     \-null.jpg

在代码中,您可以使用getClass().getResource("/res1/null.jpg")/res2/课程

来引用它

答案 1 :(得分:0)

究竟什么是“res”文件夹?它是否像Maven项目中的src / main / resources一样?

无论如何,你只需要在res中有文件夹,如下所示:

res/1
res/2
res/3

或者,您可以编写一个脚本来将所有空图像批量移动到同一文件夹中,并同时重命名它们。