我正在运行一个Java程序,它读取1-2000000个文本文件,并为每个文件执行简单操作并将它们写回磁盘。 在我的Windows笔记本电脑上,这需要8分钟才能对40,000个文件进行操作。 在具有UFS文件系统的旧Solaris系统上,花了12个小时。
在与IT人员协商后,他建议问题是由于UFS中的文件结构需要顺序搜索。
我想按照它们在FS上显示的顺序读取所有文件,因此无需每次都进行搜索。 我该怎么做呢?
谢谢!
答案 0 :(得分:0)
你可以考虑
MappedByteBuffer
还要尝试优化缓冲区大小(一次读取的块数有多大?)