打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
文档关键字搜索工具

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

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

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

实现功能:

    • 对本地大量文本文件进行关键字搜索

    • 将搜索结果显示到页面上

开发环境:

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

由简入繁,拿来即用

后续精彩,持续关注

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Thinking in Java | CHAPTER 2
WebService大讲堂之Axis2(2):复合类型数据的传递
你离测试开发还有多远?
最简单的C#快速入门教程
VS连接SQL Server数据库,增删改查详细教程(C#代码)
C#连接MySQL数据库实例
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服