前端之家收集整理的这篇文章主要介绍了
VB快速查找大型文件中包含的字符串,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
关于查找大型文件中包含的字符串,一般都把文件内容读入到内存,然后在内存里进行比较,却不知这种办法有一个致命的弱点,那就是由于大量的内存申请和释放导致的内存颠簸,会使系统性能下降,严重影响了查找的速度。特别是在递归中对多个文件进行查找时,这个问题会更加突出,有时甚至会导致VB程序挂掉。为避免这种情况,同时加快大型文件中字符串的查找速度,俺基于内存影射文件和VB模拟指针技术,编写了一个通用字符串查找函数。
首先,先看一个普通的查找函数:
-
- PrivateFunctionFindText(ByValstrFileNameAsString,ByValstrTextString)Long
- DimfnInteger
- DimstrFileTextString
-
- DimMyString,MyNumber
- DimSString
-
- fn=FreeFile()
- OpenstrFileNameForBinaryAs#fn
- strFileText=Input(LOF(fn),fn)
- Close#fn
- FindText=InStr(strFileText,strText)
- EndFunction
用一个400K的文本进行测试,测试次数为20次,测试代码如下:
copy