参见下面的两个代码,让我知道为什么它像Java语言那样打印
BufferedReader br = new BufferedReader(new FileReader("file path"));
while(br.readLine()!= null) {
System.out.println(br.readLine());
}
br.close();
Run Code Online (Sandbox Code Playgroud)
此代码不能打印完整的文件内容,但是,如果我使用下面的代码,它将打印文件的完整内容..请解释
BufferedReader br = new BufferedReader(new FileReader("filepath"));
String str;
while((str=br.readLine())!= null) {
System.out.println(str);
}
br.close();
Run Code Online (Sandbox Code Playgroud)
简单:BufferedReader通过br.readLine()在while循环中调用两次,您可以从读取两次行。首先,在条件部分(while (br.readLine()!=null))中读取一行,然后再次进行打印(...println(br.readLine()))。
读取的行从缓冲区中消失了。
在第二个代码部分中,该行存储到str条件部分中。那str以后也用来打印行。