我的项目包含项目根目录下路径src/res/sounds
中的音频资源。当我在Eclipse中使用它时,运行会起作用,因为项目根目录是工作目录。
但是我将项目导出到可运行的JAR文件中,并尝试从命令行运行它java -jar
。我得到The system cannot file the file specified
错误,因为工作目录现在是我运行命令行的那个,并且资源的相对路径不再有效。
在我的代码中处理外部资源的正确方法是什么(稍后将打包在JAR中)?我该如何解决当前的问题?
答案 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
}
}