如何正确引用资源?

时间:2015-09-20 20:27:43

标签: java jar resources

我的项目包含项目根目录下路径src/res/sounds中的音频资源。当我在Eclipse中使用它时,运行会起作用,因为项目根目录是工作目录。

但是我将项目导出到可运行的JAR文件中,并尝试从命令行运行它java -jar。我得到The system cannot file the file specified错误,因为工作目录现在是我运行命令行的那个,并且资源的相对路径不再有效。

在我的代码中处理外部资源的正确方法是什么(稍后将打包在JAR中)?我该如何解决当前的问题?

1 个答案:

答案 0 :(得分:0)

假设资源在你的jar文件中(你应该解压缩并验证它们在那里):

class Test {
    public static void main(String[] args) {
        final InputStream is = Test.class.getResourceAsStream("/res/sounds/mySound.wav");
        // do something with the inputstream
    }
}