繁体   English   中英

如何在 Java 中使用 BufferedReader 读取下一行?

[英]How do I read next line with BufferedReader in Java?

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

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

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

这变成了一个无限循环。 完成阅读和打印一行后,我想转到下一行。 但我不知道该怎么做。

您只阅读了第一行。 line变量在while循环中没有变化,导致无限循环。

读取while条件中的下一行,因此每次迭代读取一行,更改变量。

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

while( (line = br.readLine() ) != null) {
    System.out.printf(line);
}
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);

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM