从.jar中读取文本文件

时间:2015-02-19 23:26:42

标签: java eclipse file 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)"

=============================================== ======================

我的目录是:

- &gt;项目
----&gt; src(源代码)
--------&gt;(默认包)
------------&gt; ...班级列表...
----&gt;资源(源文件夹)
--------&gt; PlayerStats.txt
--------&GT; ...图像...

图像使用相同的方法正常工作:

ImageIcon image = new ImageIcon(this.getClass().getResource("bg.png"));

唯一的区别是我在不同的类中使用这些方法,但它们都在同一个源文件夹中(&#34; src&#34;)。

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

尝试使用此

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource(yourFileName).getFile());

如果不起作用将资源文件夹放在src文件夹中