我正在使用 BufferedReader 和 PrintWriter 遍历输入文件的每一行,对某些行进行更改,然后输出结果。如果一行没有发生变化,它只是按原样打印到输出文件中。然而,由于某种原因,该过程提前结束。代码看起来像这样:
BufferedReader in = new BufferedReader(new FileReader("in.txt"));
FileOutputStream out = new FileOutputStream("out.txt");
PrintWriter p = new PrintWriter(out);
String line = in.readLine();
while(line!=null)
{
if(line is special)
do edits and p.println(edited_line);
else
p.println(line);
line = in.readLine();
}
然而,由于某些奇怪的原因,这个过程在我的输入文件的最后提前结束(实际上打印了半行)。这有什么明显的原因吗?while 循环显然以空值结束。它在我的 250k+ 行 txt 文件的末尾。谢谢!