如何避免频繁用Java编写文件

时间:2013-04-14 16:12:04

标签: java performance file-io

我有问题: 在循环中,每次我需要将一个大字符串写入一个文件(或临时文件)时,然后进程将该文件作为参数进行下一步。

一些事情:

for(int i=0;i<n;i++){
    File f = File.createTmpFile("xxx","xxx");
    // write into f etc. 
    String result = func(f);
}

因为我认为每次创建文件并将字符串写入其中似乎成本很高,所以还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

如果这些字符串不需要立即保存到文件中,您可以将它们存储在 memory 中,某些集合,例如,一个ArrayList。当列表变得“大”时,比如每十分钟一次,将所有十个一次写入文件。这会将文件创建减少10倍。

危险在于,如果发生碰撞,您最多可能会失去9个值。