求高效的文件遍历算法!新手勿扰!

输入某个目录,遍历其下的所有文件!网上有很多简单的遍历算法,但数量大的话效率还是不够!

作者: yaohua1215   发布时间: 2011-06-14

就你这垃圾结帖率!

作者: bao110908   发布时间: 2011-06-14

谁会给大家分享下。我的那个代码才能实现很少的图片,不太理想。想要的可以联系我。

作者: qlong8807   发布时间: 2011-06-14

使用单独的线程遍历各个子目录。

引用 1 楼 bao110908 的回复:

就你这垃圾结帖率!

发5贴,结一贴不是什么问题

作者: huntor   发布时间: 2011-06-14

引用 1 楼 bao110908 的回复:

就你这垃圾结帖率!

说的对,建议楼主及时结贴!

作者: hudie1234567   发布时间: 2011-06-14

遍历无所谓高效低效吧,反正都是遍历一次,算法的复杂度都是一样的。
除非象楼上说的开多线程,那又不是遍历算法的问题了,而且未必在每台电脑上都好使。
就用简单的递归遍历就行了。

同拭目以待楼主的结贴~

作者: alexandertech   发布时间: 2011-06-14

递归吧···

作者: king594238813   发布时间: 2011-06-14

可以试试用插件 mule 什么的,我也还在研究!

作者: wuyigong111   发布时间: 2011-06-14

引用 3 楼 huntor 的回复:
使用单独的线程遍历各个子目录。


引用 1 楼 bao110908 的回复:

就你这垃圾结帖率!

发5贴,结一贴不是什么问题

这种方法效率将会更低。文件存储在硬盘上的时候,一般情况下每一个文件是存放在相信的扇区的。你用单独的线程遍历各个子目录,与一个线程遍历所有目录,从原理上,没有任何地方体现出提高效率的。而且,多线程运行时,如果多个线程访问的文件都比较大,一会儿A线程访问文件1,一会儿B线程访问文件2,如果文件1和文件2存储的扇区都离的很远,甚至是不同磁道的,那么硬盘的磁头一会儿移动到这儿来读一些,一会儿移动到那儿读取一些,这样效率只会降低而不会提升。
同意5楼的前部分观点,都是遍历一次,无所谓效率高低的

作者: wenbodong   发布时间: 2011-06-14

一般情况下每一个文件是存放在相信的扇区的,其中的相信打错了,改成相邻

作者: wenbodong   发布时间: 2011-06-14

引用 8 楼 wenbodong 的回复:

引用 3 楼 huntor 的回复:
使用单独的线程遍历各个子目录。


引用 1 楼 bao110908 的回复:

就你这垃圾结帖率!

发5贴,结一贴不是什么问题

这种方法效率将会更低。文件存储在硬盘上的时候,一般情况下每一个文件是存放在相信的扇区的。你用单独的线程遍历各个子目录,与一个线程遍历所有目录,从原理上,没有任何地方体现出提高效率的。而且,多线程运行时,如果……


后半部分您也得同意:) 因为有的电脑如Unix服务器本身是支持多线程的,这时候确实能提高效率。

作者: alexandertech   发布时间: 2011-06-14