使用BufferedReader读取文本文件

Syn*_*tic 30 java text file

我在使用BufferedReader方面遇到了问题

我想打印一个文本文件的6行:

public class Reader {

public static void main(String[]args) throws IOException{

    FileReader in = new FileReader("C:/test.txt");
    BufferedReader br = new BufferedReader(in);

    while (br.readLine() != null) {
        System.out.println(br.readLine());
    }
    in.close();

}
Run Code Online (Sandbox Code Playgroud)

现在,每当我调用readLine()方法时,我都可以收集它,它会自动前进到下一行.

所以我不能使用条件br.readLine()!= null因为它已经将它推进了一行并获得了输出:

Line 2
Line 4
Line 6
Run Code Online (Sandbox Code Playgroud)

我使用什么条件来检查文本字段中是否还有新行.

提前致谢!

Jon*_*eet 71

这就是问题:

while (br.readLine() != null) {
    System.out.println(br.readLine());
}
Run Code Online (Sandbox Code Playgroud)

你有两个呼叫readLine-第一检查是否存在一条线(但读它它扔了出去),第二读取下一行.你要:

String line;
while ((line = br.readLine()) != null) {
    System.out.println(line);
}
Run Code Online (Sandbox Code Playgroud)

现在我们只对每个循环迭代调用readLine() 一次,并使用我们已经读过的"我们已经完成了吗?"的行.和"打印线"部分.


Aly*_*mal 5

line 通过while循环阅读并通过循环阅读下一行,因此只需在while循环中阅读

 String s;
 while ((s=br.readLine()) != null) {
     System.out.println(s);
  }
Run Code Online (Sandbox Code Playgroud)