文档关键字搜索工具介绍 文档怎么搜索关键词

前面写了几篇关于文件流的文章,今天来写个简单的小工具,即:文档关键字的搜索工具;也是运用了文件流来读取并匹配关键字;
这东西吧,网上或许应该有很多,但是用的时候却总是找不到,找的时候也无从下手,有花大时间找的过程,自己都可以手动完成了…毕竟这东西也不是经常需要 。
我这个也是因为前几天在工作中有这个需求,需要在本地的很多文件中寻找是否包含某些个关键字,并进行关键字替换 。百度了两分钟,无果,就自己写了,这里发出来的版本稍微做了些人性化优化 。

文档关键字搜索工具介绍 文档怎么搜索关键词

文章插图
实现功能:
    • 对本地大量文本文件进行关键字搜索
    • 将搜索结果显示到页面上
开发环境:
开发工具: 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 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 listData = https://www.0579wy.com/article/new BindingList();//循环查找foreach (FileInfo fi in fis){using (StreamReader sr = new StreamReader(fi.FullName)){string text = sr.ReadToEnd();IEnumerable 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文件 。

    推荐阅读