![](/img/trans.png)
[英]Monitor file size when writing file using a BufferedWriter in Java?
[英]Java program is not writing all the records to the output file using the BufferedWriter
以下代码无法在输出文件中写入超过29499行。 最后一行的更多内容仅打印了一半。 我已经验证程序没有问题,因为该程序在控制台中打印了所有25000行。
FileReader fr = new FileReader(System.getProperty("user.dir") + "/json/Sample.json");
FileWriter fw = new FileWriter(System.getProperty("user.dir") + "/json/output.json");
BufferedReader br = new BufferedReader(fr);
BufferedWriter bw = new BufferedWriter(fw);
String line=br.readLine();
if (line == null)
{
br.close();
fr.close();
bw.flush();
bw.close();
fw.close();
}
while (line!=null) {
Gson gson = new Gson();
bw.write(record+"\n");
line=br.readLine();
}
如果第一行为空,您只关闭并刷新读者和作者。 你可能会想要在循环完成后执行此操作,这将确保(除了例外)它们将始终关闭。
更好的是,使用try with resources语句来避免必须手动关闭/刷新它们 - 这也将处理抛出异常的情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.