将文件包含在java存档中

时间:2012-09-14 19:02:16

标签: java netbeans resources

我主要遵循这个主题:
How do you add files to a jar using Netbeans 6.5? 我有一个名为Card的类,然后需要加载一个文件并返回InputStream的名称 这是获取输入的代码:

public String getFilename()
{
    String result= "" + seed + "-" + value + ".png";
    return result;
}
public InputStream getInputStream()
{
    InputStream result;
    result= Card.class.getClassLoader().getResourceAsStream(getFilename());
    return result;
}

文件名正确,所有文件都在项目的src文件夹中 如果我尝试使用Netbeans 7.2运行它,它可以工作。但是如果我构建项目并将jar从其原始位置移动,运行它,它不再工作。它不加载文件(结果为null)。
问题是什么?

3 个答案:

答案 0 :(得分:1)

试试这个:

result= Card.class.getResourceAsStream("/"+getFilename());

答案 1 :(得分:0)

我会将所有文件移动到他们自己的包“资源”中。

String result= "/resources/" + seed + "-" + value + ".png";

(这可能无法解决问题,但在处理资源时,它是各个站点推荐的解决方案。我知道这对eclipse IDE有效)

答案 2 :(得分:0)

问题是它没有找到一个库,我不得不移动所有dist文件夹以使其工作。