在阅读部分代码下面的文件时工作正常
//代码A
try{
String s1;
f = new FileReader("C:\\Test.txt");
f1 = new BufferedReader(f);
while((s1 = f1.readLine())!=null)
{
System.out.println(s1);
}
}
但这不是:
//代码B
try{
String s1;
f = new FileReader("C:\\Test.txt");
f1 = new BufferedReader(f);
while((f1.readLine())!=null)
{
s1=f1.readLine();
System.out.println(s1);
}
}
我认为代码A和B都是一样的;但代码A读取文件的完整内容,而代码B不读取。为什么呢?
答案 0 :(得分:2)
在代码B中,您在一次迭代中调用readLine()
两次,因此在一次迭代中读取2行,最后只打印每隔一行。即使您没有将f1.readLine()
指定给任何行,仍然会读取该行,并且读者会继续前行到下一行。