关于征集查找指定目录中包含指定字符串的文件列表程序。600分伺候各位!!!! 加一贴见http://www.delphibbs.com/delphibbs/di

S

silicon

Unregistered / Unconfirmed
GUEST, unregistred user!
关于征集查找指定目录中包含指定字符串的文件列表程序。600分伺候各位!!!! 加一贴见http://www.delphibbs.com/delphibbs/dispq.asp?lid=1200695(300分)<br />大家也许都用过Windows自带的文件搜索功能。你指定一个目录,并且指定“包含的文字”,
Windows会很快找到该目录所有包含该文字的文件出来。现在我想征集这样的程序代码,要求
速度快,最好比Windows自身的更快!下面的程序是我自己写的,我知道这一定不是最好的代
码,但我希望能起到一个抛砖引玉的作用,希望更多的高手能提供更加优秀的算法!
大家可以下载我的例程:
URL:http://danzzg.xiloo.com/projects.rar
 
呵呵!你没有用多线程吗?
用一下线程就会更快了。WINDOWS的应该用了线程的。
 
关于使用多线程,其实想一想并不能带来质的改变。使用多线程的目的只是想让计算机在同
一小的时间段里多完全点事情。CPU只有一个,所以说用多线程可能只会更慢而不见得快!
我想大家能够想出一些高效在查找算法,好的算法才是最好的。
 
我个人认为这个问题实际上就是字符串搜索,已经没有太多的优化余地。如果你想要频繁
的在同一个子目录中进行反复的搜索,建议先对这些文件进行类似CHM的索引编码,这样可以
极大的提高以后的搜索速度。
比如将两个连续字节作为基本索引对象,共有65536种情况。建立一个索引文件,存放每个
索引在各个文件之中的出现次数。如:要搜索“Delphi”,则应该找到包含索引"De","el",
"lp","ph","hi"的文件,然后再在这些文件中进行普通的字符串搜索。
 
多人接受答案了。
 
顶部