无法使用FileReader和BufferedReader读取Java中的文本文件,可能的原因是什么?
这里从start()
方法我用text file
调用了loadMap(filename)
方法。但是我不知道为什么虽然调用了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 楼答案
如果从未调用
System.out.print("INside loadMap()")
,则在创建FileReader.
时必须引发IOException换句话说,在调用中,然后调用^{}
loadMap()
(data\map1.txt)时作为参数输入的文件不存在。您应该考虑以不同的方式检索文件,例如将其放置在源文件夹