百度360必应搜狗淘宝本站头条
当前位置:网站首页 > SEO教程 > 正文

文档关键字搜索工具 搜索文档里的关键字

gaoyangw 2024-10-26 09:56 19 浏览 0 评论

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

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

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

实现功能:

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

开发环境:

开发工具: 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[] { "\r\n" }, 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文件。

由简入繁,拿来即用

后续精彩,持续关注

相关推荐

工具升级后我们应该对现有的推广工具有新定义和认知

淘宝商业系统新变革现在的淘宝啊,那可真是越来越像一个超级智能的商业宇宙了。以前咱做淘宝,就盯着那几个关键词,使劲儿刷坑产,以为这样就能出单。可现在不一样咯,进入了2025年,淘宝已经完全进化到了场景化...

在Ozon上常用的推广商品的工具(ozon上架产品)

这些是用于在类目页面、商品卡片、搜索结果和其他Ozon页面上推广商品的工具。Ozon上有哪些推广工具...

外贸人必备!2025 年最受欢迎的海外社媒营销工具解析

现在做海外生意,社媒营销那可是重中之重。2025年又冒出一堆好用的工具,不管是找客户、做推广还是和用户唠嗑,都能帮上大忙。今天咱就来聊聊这些热门的海外社媒营销工具,分社交媒体平台和即时聊天工具两部分...

免费进群获取福彩3D资料?结果……

在国庆小长假来临的喜悦中,李先生(化名)本以为自己找到了快速致富的机会,但没想到等待他的却是一场精心设计的骗局。真实案件前两天,李先生和往常一样刷视频时,无意间看到一个广告,声称可以免费进群获取福彩3...

揭秘刷单骗局,莫把“陷阱”当“馅饼”!

你以为自己是在做...

12万元的血泪教训:揭秘点赞刷单诈骗全过程

今年3月的那个下午,我的QQ突然被拉入一个陌生群,正是这次意外的“邀请”,让我陷入了一场精心设计的诈骗陷阱,损失了12万元。希望通过分享我的经历,能给大家敲响警钟,避免重蹈覆辙。...

内衣电商小白必备引流秘籍,轻松破局!

新手做内衣电商,是不是天天为没流量愁到头秃?别慌,今天就把压箱底的引流干货分享给大家,都是实操验证过的有效方法,纯新手也能轻松上手!社交媒体引流:精准吸粉的流量密码...

“搜索+公益+明星”,QQ浏览器联动百位明星让好事久久发生

2024年9月,走过十年的99公益日正式升级为“久久公益节”。作为腾讯公益的深度合作平台,QQ浏览器依托搜索能力与丰富的明星资源,连续5年以“搜索+公益+明星”的模式深度参与99公益日。...

刷单兼职怎样最赚钱?看完这篇,绝对不亏!

网络刷单日进百金?坐在家里就能赚钱?...

推荐内容运营最需要的14个网站(做内容运营)

...

动动手指就能赚钱的好事,为啥轮到你?

刷单,日进斗金?...

零成本快速获客成交的五大方法(获客成本计算方法)

线上获客的五大方法以下是陈老师根据十几年新媒体营销的经验总结出来的五个0成本快速获客的方法,这些方法简单易学,学了马上就能用,用了就能见到效果。这些方法虽然简单,但是效果确实很不一般。陈老师曾经用赠送...

父亲10年为女儿QQ点赞3.7万次 只因女儿一个要求

近日,网友“未名湖锦鲤”分享的一段特殊的亲情故事...

快手极速版看我如何通过一个广告获得1800金币,干货经验分享

#打卡挑战局#哈喽大家好,我是左十一,今天又来给大家分享多拿金币的小技巧以及疑难杂症的解决方法了,今天主要给大家带来关于快手极速版,如何操作才能通过一个广告获取1800金币的超高金币奖励。很多朋友总是...

“爱芥末”就是全球第一个QQ等级最高的用户

今天凌晨腾讯官微突然宣布全球第一个QQ256级用户诞生了。这个用户叫“爱芥末”,等级图标变成了从来没出现过的“时光企鹅”。腾讯还特意给发了限量版纪念品,终身超级会员和很多皮肤。...

取消回复欢迎 发表评论: