文档关键字搜索工具(文档关键字搜索工具在哪)

前面写了几篇关于文件流的文章,今天来写个简单的小工具,即:文档关键字的搜索工具;也是运用了文件流来读取并匹配关键字;

这东西吧,网上或许应该有很多,但是用的时候却总是找不到,找的时候也无从下手,有花大时间找的过程,自己都可以手动完成了…毕竟这东西也不是经常需要。

我这个也是因为前几天在工作中有这个需求,需要在本地的很多文件中寻找是否包含某些个关键字,并进行关键字替换。百度了两分钟,无果,就自己写了,这里发出来的版本稍微做了些人性化优化。

文档关键字搜索工具(文档关键字搜索工具在哪)

实现功能:

    • 对本地大量文本文件进行关键字搜索
    • 将搜索结果显示到页面上

开发环境:

开发工具: Visual Studio 2013

.NET Framework版本:4.5

关键代码:

//数据源模型 private class BindModel { public string FileName { get; set; } public string FilePath { get; set; } public string Keys { get; set; } public string Operate { get { return "打开目录"; } } } //搜索等待提示 Font f = new Font("宋体", 14, FontStyle.Bold); Rectangle r = new Rectangle(dataGridView1.Width / 2 - 100, dataGridView1.Height / 2, 160, 20); dataGridView1.CreateGraphics().DrawString("正在检测,请稍等。。。", f, Brushes.Red, r); List<string> keys = txtKeys.Text.Split(new string[] { "rn" }, StringSplitOptions.RemoveEmptyEntries).ToList(); DirectoryInfo di = new DirectoryInfo(txtFolder.Text); //查找所有符合条件的文档 FileInfo[] fis = di.GetFiles(txtFile.Text, SearchOption.AllDirectories); BindingList<BindModel> listData = new BindingList<BindModel>(); //循环查找 foreach (FileInfo fi in fis) { using (StreamReader sr = new StreamReader(fi.FullName)) { string text = sr.ReadToEnd(); IEnumerable<string> list = keys.Where(s => cbCap.Checked ? text.ToLower().Contains(s.ToLower()) : text.Contains(s)); if (list.Count() > 0) { BindModel model = new BindModel { FileName = fi.Name, FilePath = fi.FullName, Keys = string.Join(",", list) }; listData.Add(model); } } } //绑定数据到页面 dataGridView1.DataSource = listData;

最终实现效果:

文档关键字搜索工具(文档关键字搜索工具在哪)

写程序这件事吧,要么是工作所需,要么是可以替代自己完成生活中的一些重复而又繁琐的事,学以致用,偶尔给自己一些小确幸;单纯地为了工作而成为一个实实在在的码农,没有了思想,没有了目标,着实无趣。

这里不允许放链接,我就直接把所有代码放到网盘了,下载下来可以直接运行;私信我发送:文档关键字搜索工具 获取链接地址,若是不需要看代码,可以直接在Debug文件夹中运行exe文件。

由简入繁,拿来即用

后续精彩,持续关注

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月28日 上午10:30
下一篇 2023年4月28日 上午10:46

相关推荐

  • 生产调度会议管理规定(生产调度会议管理规定最新)

    关注【本头条号】更多关于制度、流程、体系、岗位、模板、方案、工具、案例、故事、图书、文案、报告、技能、职场等内容,弗布克15年积累免费与您分享! 生产调度会议管理规定 制度名称 生…

    科研百科 2023年8月24日
    131
  • 关于免费论文查重软件怎么进行选择?(关于免费论文查重软件怎么进行选择的)

    关于免费论文查重软件怎么进行选择?首先要看自己需要选择什么类型的,因为现在大部分论文查重软件都是可以进行查询的,并且都会给出一份详细报告。 当然现在市场上这样的软件也是比较多的,所…

    科研百科 2023年5月8日
    217
  • 软考信息系统项目管理师_历年真题_2020下半年错题集(2020年软考信息系统项目管理师答案)

    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ YD:邮电部 SJ是四和机汉语拼 ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 关…

    科研百科 2022年9月5日
    154
  • 国家项目管理师

    国家项目管理师: 一个职业称谓,一个行业标志 国家项目管理师,一个职业称谓,一个行业标志。作为项目管理领域的专业人士,他们负责规划和实施国家重大工程和项目,确保其按时、高质量完成。…

    科研百科 2024年8月17日
    33
  • 安徽省委马志恒

    安徽省委马志恒安徽省委马志恒同志:“《(安徽志贺)参军》和《(陕西志贺)参军》都有‘雄关漫道真如铁’的‘雄关’,唐代的‘雄关漫道真如铁’这个成语还有一个,那就是‘雄关漫道真如铁’。…

    科研百科 2024年11月21日
    0
  • 写一个科研项目申请书怎么写

    科研项目申请书 科研项目申请书是申请科研项目时必须提交的文件之一。一份好的科研项目申请书不仅能够帮助科研项目得到更好的资金和资源,也能够提高项目的成功率。本文将介绍怎么写一份好的科…

    科研百科 2024年8月9日
    52
  • 会议管理 系统

    会议管理系统: 现代组织中不可或缺的工具 随着现代组织的复杂性和多样性,会议管理系统已经成为现代组织中不可或缺的工具。这些系统可以帮助组织更好地规划和管理会议,提高会议效率和质量,…

    科研百科 2024年9月18日
    23
  • 客户关系管理实施的核心是什么

    客户关系管理(CRM)是一种管理客户信息和业务流程的方法,旨在提高客户满意度,增加销售额和利润。CRM系统可以跟踪客户信息,包括他们的购买历史、偏好和忠诚度,以便企业能够更好地了解…

    科研百科 2024年9月22日
    29
  • idea 好看的主题

    Idea好看的设计 随着科技的发展,我们越来越离不开电脑和互联网。但是,对于设计师来说,电脑和互联网并不是他们的全部。他们需要一款好的IDEA来帮助他们更高效地工作。 IDEA(集…

    科研百科 2024年11月7日
    0
  • 客户信息档案管理系统

    客户信息档案管理系统 随着信息技术的不断发展,客户信息档案管理系统已经成为企业非常重要的一部分。客户信息档案管理系统可以帮助企业有效地管理客户信息,提高客户满意度,增加销售额。 客…

    科研百科 2024年9月22日
    25