频繁冲洗()的优化

时间:2012-03-13 20:38:55

标签: java performance io nio flush

我想不断地将数据写入光盘。 我想频繁地将数据刷新到光盘(例如每块64MB)。你能提出什么解决方案?

我认为标准的OutputStream可能是比nio.channels更好的选择,因为它更直接。

1 个答案:

答案 0 :(得分:1)

如果您要编写连续的数据流,例如附加到文件的末尾,那么偶尔调用OutputStream的常规flush()与{{1}一样好或更好}}。 nio可以给你一个很大的优势的地方就是在文件的不同区域写下许多小块。在这种情况下,您可以使用内存映射文件,这可能是对旧式写入的改进。但是,从我理解的问题来看,你宁愿处理连续的数据流。我建议您实施常规解决方案,为您提供更好的代码,如果您发现缺乏性能,则只搜索替代方案。在这种情况下,我不希望nio产生明显的差异。