如何使用Java快速将整个文本文件目录读入内存?

时间:2013-05-23 12:17:05

标签: java performance unix filesystems

我正在运行一个Java程序,它读取1-2000000个文本文件,并为每个文件执行简单操作并将它们写回磁盘。 在我的Windows笔记本电脑上,这需要8分钟才能对40,000个文件进行操作。 在具有UFS文件系统的旧Solaris系统上,花了12个小时。

在与IT人员协商后,他建议问题是由于UFS中的文件结构需要顺序搜索。

我想按照它们在FS上显示的顺序读取所有文件,因此无需每次都进行搜索。 我该怎么做呢?

谢谢!

1 个答案:

答案 0 :(得分:0)

你可以考虑

MappedByteBuffer

还要尝试优化缓冲区大小(一次读取的块数有多大?)