有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

这里从start()方法我用text file调用了loadMap(filename)方法。但是我不知道为什么虽然调用了loadMap(),但是FileReaderBufferedReader不起作用。下面是两个文件读者的声明 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) 个答案

  1. # 1 楼答案

    如果从未调用System.out.print("INside loadMap()"),则在创建FileReader.时必须引发IOException

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