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

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

gaoyangw 2024-10-26 09:56 13 浏览 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文件。

由简入繁,拿来即用

后续精彩,持续关注

相关推荐

网络推广引流策略:选准平台提升品牌影响力

网络推广引流是企业和个人自媒体发展中不可或缺的关键步骤,它能有效提升品牌名声、促进产品销售、吸引众多潜在消费者。为了做好这项工作,我们需深入了解众多细节和策略。下面,我将逐一为大家详细介绍网络推广引流...

王心凌翻红,南京某公司专门发文为其拉票?

前不久,“刘耕宏女孩”们纷纷加入健身大军,一起跳起了《本草纲目》。最近,“王心凌男孩”们又跳起了《爱你》,登上热搜。一首《爱你》重新翻红5月20日,《乘风破浪3》开播。今年39岁的王心凌在初舞台上,绑...

项目招标山海湾金澜锦翠项目广告设计及网络推广服务竞争性磋商公

项目招标山海湾金澜锦翠项目广告设计及网络推广服务竞争性磋商

关于山海湾金澜锦翠项目广告设计及网络推广服务竞争性磋商公告

关于山海湾金澜锦翠项目广告设计及网络推广服务竞争性磋商公告

最新项目山海湾金澜锦翠项目广告设计及网络推广服务竞争性磋商

最新项目山海湾金澜锦翠项目广告设计及网络推广服务竞争性磋商公告

山海湾金澜锦翠项目广告设计及网络推广服务竞争性磋商

山海湾金澜锦翠项目广告设计及网络推广服务竞争性磋商...

山海湾金澜锦翠项目广告设计及网络推广服务竞争性磋商公告

山海湾金澜锦翠项目广告设计及网络推广服务竞争性磋商公告...

最新公告山海湾金澜锦翠项目广告设计及网络推广服务竞争性磋商

最新公告山海湾金澜锦翠项目广告设计及网络推广服务竞争性磋商公告...

最新招标公告山海湾金澜锦翠项目广告设计及网络推广服务竞争性

最新招标公告山海湾金澜锦翠项目广告设计及网络推广服务竞争性磋商公告

最新公告山海湾金澜锦翠项目广告设计及网络推广服务竞争性磋商公

最新公告山海湾金澜锦翠项目广告设计及网络推广服务竞争性磋商公告...

合肥网站建设大概流程是怎么样的(合肥网站建设方案开发)

合肥网站建设是指在合肥地区进行网站建设的一系列流程和步骤。随着互联网的快速发展,网络在经济、商务、政府、教育和其他领域的作用越来越大,一个高效、安全、易用的网站在合肥的发展中起着重要的作用。下面将简要...

网站SEO优化如何制定策略(网站seo的主要优化内容)

原文地址:网站SEO优化如何制定策略作者:怎么可以那么难取名字做网站优化首先需要制定好SEO策略,SEO策略贯穿整个SEO工作中心,每一步都是按照这个策略走,循序渐进,一步一步进行。执行SEO之前一定...

2025年Google SEO趋势:AI如何重塑你的流量策略?

2025年,GoogleSEO正迎来一场由AI驱动的革命。作为一名拥有16年经验的SEO专家,我见证了无数网站因未能适应变化而流量暴跌,也看到那些紧跟趋势的网站实现逆袭。AI如何影响SEO?Goog...

网站建设费用包含哪些方面?(网站建设费用计入哪个科目)

在网站建设中,费用通常由多个方面组成,这些因素共同决定了网站的整体成本。首先,最基本的费用是域名和主机的购买。域名是网站的地址,而主机则是存放网站内容的服务器,这两者都是网站上线的必要条件。选择合适的...

做一个公司官网大概多少钱呢?(做一个公司官网大概多少钱呢知乎)

制作公司官网的费用因需求复杂度和服务商不同差异较大,以下是一个大致的费用范围和分析,供参考:#公司官网##网站搭建---**一、影响价格的核心因素**1.**网站类型**-**基础展示型**(5...

取消回复欢迎 发表评论: