阅读资源文件Netbeans

时间:2016-08-29 19:56:24

标签: java netbeans

我正在尝试访问存储在High_Scores.txt文件夹中的Resources文件。

我的项目树看起来像这样:

Project Tree

我使用下面显示的代码来访问该文件。检查了这个similar question,但解决方案不适用于我的情况。

File file = new File(getClass().getClassLoader().getResource("/Resources/High_Scores.txt").getFile());

但我继续NULLPointerException。在这种情况下,我不明白这个例外。有人可以指出我做错了吗?

更新

如果我改变代码:

File file = new File(getClass().getClassLoader().getResource("Resources/High_Scores.txt").getFile());

我得到FILENOTFOUNDException

1 个答案:

答案 0 :(得分:0)

对于阅读文件,你可以使用InputStream而不是像这样的新File()(假设你正在调用从Board类读取文件)

InputStream stream = Board.class.getResourceAsStream("/Resources/high.txt");
    BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
    StringBuilder out = new StringBuilder();
    String line;
    while ((line = reader.readLine()) != null) {
        out.append(line);
    }
    System.out.println(out.toString());   //Prints the string content read from input stream
    reader.close();

或者您可以使用ClassLoader对象

File file = new File(ClassLoader.getSystemResource("/Resources/high.txt").getFile());

如果特定目录包含文件夹

File file = new File(ClassLoader.getSystemResource("/Resources/high.txt").toURI());