此处从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()");
}
}
答案 0 :(得分:0)
如果从未调用System.out.print("INside loadMap()")
,则在创建FileReader.
换句话说,您在调用loadMap()
(data \ map1.txt)时作为参数输入的文件不存在。您应该考虑以不同的方式检索文件,例如将其放在源文件夹中,然后调用getClass().getResource()