无法读取包含以下Java代码的完整文件
在读取下面的文件时,部分代码可以正常工作 //代码A无法读取包含以下Java代码的完整文件,java,filereader,Java,Filereader,在读取下面的文件时,部分代码可以正常工作 //代码A try{ String s1; f = new FileReader("C:\\Test.txt"); f1 = new BufferedReader(f); while((s1 = f1.readLine())!=null) { System.out.pri
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不读取。为什么?在代码B中,您在一次迭代中调用了两次
readLine()
,因此在一次迭代中读取两行,最后只打印第二行。即使您没有将f1.readLine()
分配给任何内容,该行仍被读取,并且读取器继续执行下一行。在代码B示例中,readLine方法在每个循环中被调用两次。一次在while评估和一次在循环中。只打印循环中的readLine方法。(还要注意,空测试仅适用于条件)