gpt4 book ai didi

java - BufferedReader/PrintWriter 有问题吗?

转载 作者:搜寻专家 更新时间:2023-10-31 19:36:25 27 4
gpt4 key购买 nike

我正在使用 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 循环显然以 null 结束。它接近我的 250k+ 行 txt 文件的末尾。谢谢!

最佳答案

你在哪里刷新/关闭你的 PrintWriter 或 FileOutputStream ?如果程序退出并且没有完成,则不会写出所有结果。

您需要 out.close()(可能还有 p.flush()?)在您的进程结束时关闭文件输出流

关于java - BufferedReader/PrintWriter 有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1002054/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com