从 .jar 中读取文本文件
Reading a Text File from a .jar
我想将一个文本文件添加到我的项目中,并在 jar 文件和 eclipse 中读取它。我这样做的代码是这样的:
InputStream fx = this.getClass().getResourceAsStream("PlayerStats.txt");
Scanner scan = new Scanner(fx);
我已经为加载 imageIcon 做了这个并且它工作正常,但是当我 运行 它让我得到这个错误:
"Exception in thread "main" java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:61)
at java.io.InputStreamReader.<init>(InputStreamReader.java:55)
at java.util.Scanner.<init>(Scanner.java:590)
at Player.<init>(Player.java:16)
at Main.main(Main.java:6)"
=========================================== ========================
我的目录是这样的:
->项目
---->src(源代码)
-------->(默认包)
------------>...列表 类...
---->资源(源文件夹)
-------->PlayerStats.txt
-------->...图片...
图像使用相同的方法工作正常:
ImageIcon image = new ImageIcon(this.getClass().getResource("bg.png"));
唯一的区别是我在不同的地方使用这个方法类,但它们都在同一个源文件夹中("src")。
我该怎么做才能解决这个问题?
试试这个
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource(yourFileName).getFile());
如果不起作用,请将资源文件夹放入 src 文件夹
我想将一个文本文件添加到我的项目中,并在 jar 文件和 eclipse 中读取它。我这样做的代码是这样的:
InputStream fx = this.getClass().getResourceAsStream("PlayerStats.txt");
Scanner scan = new Scanner(fx);
我已经为加载 imageIcon 做了这个并且它工作正常,但是当我 运行 它让我得到这个错误:
"Exception in thread "main" java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:61)
at java.io.InputStreamReader.<init>(InputStreamReader.java:55)
at java.util.Scanner.<init>(Scanner.java:590)
at Player.<init>(Player.java:16)
at Main.main(Main.java:6)"
=========================================== ========================
我的目录是这样的:
->项目
---->src(源代码)
-------->(默认包)
------------>...列表 类...
---->资源(源文件夹)
-------->PlayerStats.txt
-------->...图片...
图像使用相同的方法工作正常:
ImageIcon image = new ImageIcon(this.getClass().getResource("bg.png"));
唯一的区别是我在不同的地方使用这个方法类,但它们都在同一个源文件夹中("src")。
我该怎么做才能解决这个问题?
试试这个
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource(yourFileName).getFile());
如果不起作用,请将资源文件夹放入 src 文件夹