无论如何加快版画?

时间:2012-09-25 05:15:19

标签: java printwriter

我有超过20个5000x30双数组,每个数组都将使用以下方法写入文本文件:

PrintWriter test = new PrintWriter(new BufferedWriter(new FileWriter("test.txt")));

处理花了我10多分钟,我想看看是否有其他方法来加快这个过程。

3 个答案:

答案 0 :(得分:2)

不要在众多缓冲区中处理所有内容,而是在完全必要之前避免刷新缓冲区。

实际上,这意味着,不要使用println printf flush format或任何其他可以刷新缓冲区的方法。通过避免这种情况,您可以延迟并组合耗费运行时间的昂贵系统调用。

或者在PrintWriter的构造函数中将autoFlush设置为false。查看this问题以获取更多信息

答案 1 :(得分:0)

将PrintWriter的autoFlush变量设置为false。

PrintWriter test = new PrintWriter(new BufferedWriter(
                                   new FileWriter("test.txt")), **false**);

完成整个写作(println)后,请调用test.flush()

这样可以避免中间冲洗时间。

答案 2 :(得分:0)

我建议您使用java nio。它们本质上比传统的java io更快。请先参考这些(12)示例。