[发明专利]一种搜索电脑文件的方法及其系统有效
申请号: | 201010619720.8 | 申请日: | 2010-12-31 |
公开(公告)号: | CN102081649A | 公开(公告)日: | 2011-06-01 |
发明(设计)人: | 马冬 | 申请(专利权)人: | 深圳联友科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 易钊 |
地址: | 518031 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 搜索 电脑 文件 方法 及其 系统 | ||
技术领域
本发明涉及电脑文件搜索领域,尤其涉及一种能够实现快速搜索的搜索电脑文件的方法及其系统。
背景技术
使用电脑时常常需要搜索文件,一般文件管理工具带有文件搜索功能,选择一个搜索目录和需要搜索的字符串就可以搜索到搜索目录中所有包含搜索字符串的文件或目录,如果搜索目录中的文件很多时,搜索的速度就会变得很慢。
现有的文件搜索方案一般是选择电脑中的一个文件目录,遍历文件目录下的所有文件和目录,比对文件或目录中是否包含要搜索的字符串,返回所有包含搜索字符串的文件和目录。一般采用比对文件名称和搜索字符串的方法来实现,如果选择的搜索目录中包含的文件和目录很多时,搜索文件的效率低、需时长。
发明内容
本发明要解决的技术问题在于针对现有技术中搜索文件时间长、效率的缺陷,提供一种搜索电脑文件的方法及其系统。
本发明解决其技术问题所采用的技术方案是:
提供一种搜索电脑文件的方法,包括步骤:
A、获取搜索字符串,判断所述搜索字符串的长度是否大于1,在结果为是时,拆分所述搜索字符串为单个字符,根据预先生成的索引文件所生成的内存索引,分别获得文件名称中包含每个字符的第一文件集合,执行步骤B;
B、根据所述索引文件,筛选所述第一文件集合,得到文件名称中包含所述搜索字符串中所有字符的第二文件集合,执行步骤C;
C、根据所述索引文件,筛选所述第二文件集合,得到文件名称中包含所述搜索字符串的最终搜索结果文件。
本发明所述的搜索电脑文件的方法中,步骤A中,判断结果为否时,即在所述搜索字符串只有一个字符时,根据所述预先生成的索引文件所生成的内存索引,找到文件名称中包含该唯一字符的文件集合,得到所述最终搜索结果文件。
本发明所述的搜索电脑文件的方法中,所述预先生成的索引文件包括三个文件:第一索引文件file.db、第二索引文件word.db和第三索引文件index.db;生成索引文件的具体步骤为:
(a)、获取搜索目录下的所有文件,将所有文件的文件ID、上级目录ID、文件名称长度和文件名称文件写入所述第一索引文件file.db,每个文件ID和上级目录ID均记为整数,执行步骤(b);
(b)、将所有文件的名称拆分为单个字符,生成包含所有单个字符的字符集合,判断所述第二索引文件word.db中是否存在所述字符集合中的各个字符,在结果为否时,将该字符ID和字符写入所述第二索引文件word.db,字符ID记为整数,执行步骤(c);
(c)、在步骤(b)中的判断结果为是时,将该字符ID、字符所属文件ID、字符在文件名称中出现的次数和字符在文件名称中的位置写入所述第三索引文件index.db。
本发明所述的搜索电脑文件的方法中,步骤B具体包括步骤:
B1、根据索引文件在所述第一文件集合中搜索出文件名称中包含所述搜索字符串的第一个字符的第三文件集合;
B2、判断所述第三文件集合中是否存在未处理的文件,在判断结果为否时,执行步骤C;在结果为是时,取下一个未处理的文件;执行步骤B3;
B3、拆分所述搜索字符串为单个字符得到字符集合,删除第一个字符,执行B4;
B4、判断步骤B3中得到的字符集合中是否存在未处理的字符,在判断结果为否时,将此时步骤B2中所取的文件存入所述第二文件集合中,同时执行步骤B2;在判断结果为是时,取下一个未处理的字符,根据所述索引文件得到包含该字符的第四文件集合,执行步骤B5;
B5、判断所述第四文件集合中是否存在此时步骤B2中所取的文件,在判断结果为是时,执行步骤B4;在结果为否时,执行步骤B2。
本发明所述的搜索电脑文件的方法中,步骤C具体包括:
C1、判断所述第二文件集合中是否存在未处理的文件,在结果为是时,取下一个未处理的文件,从所述第三索引文件index.db生成的内存索引得到所述搜索字符串中第一个字符在该未处理文件名称中的位置集合;
C2、判断该位置集合中是否存在未处理的位置,在结果为否时,重新执行步骤C1;在结果为是时,取下一个未处理的位置,并记录该位置为第一位置变量,所述第一位置变量为整数,执行步骤C3;
C3、拆分所述搜索字符串为单个字符得到字符集合,删除第一个字符,执行步骤C4;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳联友科技有限公司,未经深圳联友科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010619720.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种烟囱除尘器
- 下一篇:一种支持复杂产品先进制造的案例库系统及方法