java - 无法读取嵌入资源

标签 java embedded-resource

我想将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/

相关文章:

Java 8 lambda表达式多次更改Collection

java - 从java服务器获取pdf页面,并嵌入到现有的html中

java - 单击查看时从服务器检索数据

objective-c - 锁定 Cocoa 中的嵌入资源

c# - 如何在不将嵌入式资源写入磁盘的情况下将其读取为字节数组?

java - .jar 中出现 NoSuchFileException,但 Eclipse 中没有

java - Java中的 "->"运算符是什么?甚至是运营商吗?

java - Java中的电子邮件客户端

javascript - 在 Blazor 中将 .net 库中嵌入的文件提供为 HTML

java - 如何将 .jar 文件中的目录获取到 File 对象中?