我有一个文本文件。我想逐行阅读并将其转换为二维数组。我写了如下内容:
BufferedReader br = new BufferedReader (new FileReader ("num.txt"));
String line = br.readLine();
while( line != null) {
System.out.printf(line);
}
这变成了无限循环。在完成阅读和打印线之后,我想继续下一行。但我不知道该怎么做。
答案 0 :(得分:6)
您只阅读第一行。 line
变量在while
循环中没有变化,导致无限循环。
读取while
条件中的下一行,因此每次迭代都会读取一行,从而更改变量。
BufferedReader br = new BufferedReader (new FileReader ("num.txt"));
String line;
while( (line = br.readLine() ) != null) {
System.out.printf(line);
}
答案 1 :(得分:3)
BufferedReader br = new BufferedReader (new FileReader ("num.txt"));
String line = br.readLine();
while( line != null) {
System.out.printf(line);
// read the next line
line = br.readLine();
}
...或读取while条件中的行(如rgettman指出的那样):
String line;
while( (line = br.readLine()) != null) {
System.out.printf(line);
}