繁体   English   中英

Java程序没有使用BufferedWriter将所有记录写入输出文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM