我想将txt文件嵌入到可运行的jar中并读取它。我尝试使用此代码
Reader reader = new InputStreamReader(getClass().getResourceAsStream("/src/kan/master_ship.txt"),"UTF-8");
但是它给出了
java.lang.NullPointerException
at java.io.Reader.<init>(Unknown Source)
at java.io.InputStreamReader.<init>(Unknown Source)
at kan.util.Master.loadMasterShip(Master.java:37)
at kan.util.Master.load(Master.java:26)
at kan.Main.main(Main.java:22)
并且是在eclipse调试环境中。有什么帮助吗?
<小时/>之后我尝试将其导出为可运行的 jar,并且它有效。但我无法每次都切换代码进行调试和导出。应该是这样的!
最佳答案
您无法提供正确的路径。当您从源 ide 测试它时可能会很好,但当您将它引用为可运行的 jar 时,它会失败。
尝试将其放入构造函数中并引用它。它对我有用一次。
public myClass(){
BufferedInputStream file= (BufferedInputStream) this.getClass().getResourceAsStream("resources/a.txt");
try {
System.out.println((char)file.read());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
关于java - 无法读取嵌入资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20853675/