【问题标题】:Java BufferedWriter performanceJava BufferedWriter 性能
【发布时间】:2011-07-16 20:47:43
【问题描述】:

我需要创建接近 3 GB 的大型测试文件。所以我尝试只写字符串“1”——以检查性能和正确性。

FileWriter fstream = new FileWriter("c:/out.txt");
BufferedWriter out = new BufferedWriter(fstream,10000000);
for (int i = 0; i < 1000000000; i++) {
  //out.write(Integer.toString(1));
  out.write("1");
  out.newLine();
}
out.close();

在未来的版本中,我需要编写随机整数。现在它在我的电脑上需要 3 分 26 秒。 更改缓冲区的大小似乎无济于事。 是否可以加快写作过程?谢谢。

【问题讨论】:

  • 您的文件是否需要包含字符串/字符数据?在这里,您正在经历一个可能不需要的文本编码层。请添加有关您尝试写入文件的数据格式的更多详细信息。

标签: java performance filewriter bufferedwriter


【解决方案1】:

嗯,3GB 是 3072MB - 如果你的写入速度是 25MBps - 它应该需要更长的时间然后 2 分钟。在另一台计算机上尝试并比较结果 - 可能只是您的硬盘速度不快

【讨论】:

    【解决方案2】:

    您可能想查看一个 RAID 阵列以加快您的写入速度。写入大量数据是一个缓慢的过程。您还可以查看 SSD 或某些内存方法(内存驱动器)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-14
      • 1970-01-01
      • 2011-01-28
      • 1970-01-01
      • 2014-04-25
      • 2015-07-21
      • 1970-01-01
      相关资源
      最近更新 更多