无法使用FileReader和BufferedReader在Java中读取文本文件,原因可能是什么?

时间:2015-12-13 16:49:13

标签: java file static-methods filereader

此处从start()方法我用loadMap(filename)调用text file方法。但我不知道为什么虽然调用了loadMap()但是FileReader并且BufferedReader无效。并且文本在下面评论了这两个文件阅读器的声明 System.out.print("INside loadMap()");不在控制台中打印,文件文件未读取。这里出现的问题实际上是什么?请帮助别人。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class DemoClass {
    public static void main(String[] args) {
        start();
    }

    public static void start() {
        try {
            System.out.print("Pobon File Inside");
            loadMap("data\\map1.txt");

        } catch (Exception e) {
            // TODO: handle exception
        }
    }

    private static void loadMap(String filename) throws IOException {
        ArrayList lines = new ArrayList();

        FileReader fReader = new FileReader(filename);
        BufferedReader reader = new BufferedReader(fReader);
        System.out.print("INside loadMap()");

        while (true) {
            String line = reader.readLine();
            if (line == null) {
                reader.close();
                break;
            }
            if (!line.startsWith("!")) {
                lines.add(line);
            }
        }
        System.out.print("INside loadMap()");
    }
}

1 个答案:

答案 0 :(得分:0)

如果从未调用System.out.print("INside loadMap()"),则在创建FileReader.

时必须抛出IOException

换句话说,您在调用loadMap()(data \ map1.txt)时作为参数输入的文件不存在。您应该考虑以不同的方式检索文件,例如将其放在源文件夹中,然后调用getClass().getResource()