对1000个文件进行写操作的效率问题.
2013-11-26 来自:SavagegavaS 0 人回应

现有一个2G的log文件,我想将其均匀散列到1000个文件中。

我的想法是:
遍历日志文件,用条目的HashCode % 1000 得到文件编号.
写入目标文件。

想问如何提高效率.

目前的实现是:

用StringBuffer[] strbs = new StringBuffer[1000]数组
装1000个临时StringBuffer变量,用于存储待写入数据.

For 得到一条数据

判断日志条目的目标文件编号的时候append()到strbs[fileNo].

判断strbs[fileNo]的长度.
若超过既定量,执行写入操作,清空strbs[fileNo].

下一条数据

目前来看,对效率很不满意。
而且IO操作太平凡了,我就想把IO输出流也装在数组里.ㄟ( ▔, ▔ )ㄏ

问问各位,对这样的问题,比较高效的实现是什么?

还没有人回应!

您的回应

你还未登陆,不能回应!登陆