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

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

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

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

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

实现功能:

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

开发环境:

开发工具: 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

相关推荐

  • 社区党建引领基层治理存在问题及对策

    社区党建引领基层治理存在问题及对策 社区党建是中国共产党在基层治理中的重要引领力量,其目的是促进社区发展,提升社区居民的获得感和幸福感。然而,在社区党建引领基层治理的过程中,存在一…

    科研百科 2024年10月11日
    14
  • 红旗出版社隆重推出《神华集团党建史(神东篇)》

    在喜迎中国共产党成立96周年和党的十九大胜利召开前夕,《神华集团党建史(神东篇)》由红旗出版社于6月正式出版,这是神华集团公司各级党组织、广大共产党员和本书编纂人员给党的96周岁华…

    科研百科 2023年10月1日
    167
  • 教你简单几步搞定,在微信商开个小程序店铺,装修上架产品(微信小程序怎么做店铺装修)

    经营便利店,受地域限制,客流量有限,要发展线上客源,制作一个小程序店铺,可以帮助解决这一难题,小程序店铺的创建,一是需要注册企业主体的小程序账号,二是需要装修小程序店铺的页面,上架…

    科研百科 2024年5月10日
    99
  • 广东石油化工学院科研项目

    广东石油化工学院科研项目 广东石油化工学院是一所位于中国广东省的城市高校,近年来在科研项目方面取得了不少进展。本文将介绍广东石油化工学院的一些科研项目,并探讨这些项目的意义和价值。…

    科研百科 2024年8月11日
    40
  • 盛恒项目管理

    盛恒项目管理: 成功的项目管理关键 盛恒项目管理是一家专业的项目管理公司,成立于2005年,总部位于中国上海。该公司致力于为客户提供高品质的项目管理服务,帮助他们实现商业目标。盛恒…

    科研百科 2024年5月25日
    93
  • 湖南电子税务局怎么做税务登记

    湖南电子税务局怎么做税务登记 随着信息技术的不断发展,湖南电子税务局已经成为了税务登记的重要渠道之一。如果你需要办理税务登记,那么湖南电子税务局是怎么操作的呢?本文将为您一一解答。…

    科研百科 2024年10月2日
    32
  • 科研项目的任务分工怎么写

    科研项目的任务分工怎么写 在科研项目中,任务分工是非常重要的一环。通过合理的任务分工,团队可以更加高效地完成工作,并且避免不必要的重复劳动。下面,我将介绍一些任务分工的写作技巧。 …

    科研百科 2024年10月11日
    17
  • android studio插件

    android studio插件: 开发Android应用程序的得力助手 随着Android应用程序的日益普及,开发Android应用程序已经成为许多人日常工作的一部分。但是,对于…

    科研百科 2024年10月5日
    17
  • 小微企业管理软件(小微企业管理软件排名)

    随着市场经济不断的洗牌着各个行业的中小企业。有些企业慢慢走向衰落、有些企业渐渐有起色。小微企业作为现代社会发展的一项经济支柱、不断地在科技和自身发展上勇攀高峰。企业在发展的同时、也…

    科研百科 2023年12月11日
    145
  • 开发一款APP,具体需要哪些步骤?(想开发一款app需要做什么)

    由于智能化的飞速发展,APP的出现让大家生活变得越来越便利,不管是政企业务办理,还是商城吃饭购物,80%的生活所需都可以在手机上完成,APP已然成为各大商家及企业的得力帮手,不仅可…

    科研百科 2023年4月26日
    225