如何在Java中阅读BufferedReader的下一行?

时间:2015-03-12 00:09:37

标签: java bufferedreader readline

我有一个文本文件。我想逐行阅读并将其转换为二维数组。我写了如下内容:

BufferedReader br = new BufferedReader (new FileReader ("num.txt"));
String line = br.readLine();

while( line != null) {                
    System.out.printf(line);  
}

这变成了无限循环。在完成阅读和打印线之后,我想继续下一行。但我不知道该怎么做。

2 个答案:

答案 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);

}