磁盘IO的速度在那里了,就算你再多的线程,也绕不过IO瓶颈。不是说多线程不能提高效率,这个要看你项目的性能瓶颈在哪里。 IO密集型,没必要多线程,容易弄巧成拙。建议Cache,某些文件系统在顺序读或写磁盘时速度相当快,如果恰好文件是顺序存储在磁盘上的,建议先尽量读进内存,再一次性写出去。其他什么磁盘内存通道之类的底层技术就不是Java能左右的了。
线程并不能提高速度,而是在执行某个耗时的功能时,在还可以做其它的事。多线程使你的程序在处理文件时不必显得已经卡死。
你可以试试这种方法,使用线程池,每个文件都是使用一个线程进行处理(我觉得你只是有了一个线程仍然进行的线性的处理。),最后使用消息handler 通知主线程工作完毕。