C# WinForm 监视文件变化程序
发布日期:2021-05-06 23:30:04 浏览次数:7 分类:技术文章

本文共 1585 字,大约阅读时间需要 5 分钟。

C# WinForm 监视文件变化程序

前言

最近做项目,遇到一个需求,要求是能监控windows系统中某个文本文件的变化,一旦文件变化,要能捕获到这个事件,然后做出相应。实现起来也很简单,见下文。

效果图

演示效果如下:

当watchme.txt文件内容发生变化,程序能够检测到这个事件,捕获变化文件的路径,为后续读取文件内容做相应的逻辑处理提供前提条件。
在这里插入图片描述

步骤

第一步、创建FileSystemWatcher对象

在工具箱中找到FileSystemWatcher对象,然后拖到窗体中。

在这里插入图片描述
然后给这个FileSystemWatcher对象取一个name就叫fileSystemWatcher好了。

第二步、创建窗体的Load事件

选中窗体后,在右侧编辑框中选中事件(闪电图标),然后双击生成load方法。

在这里插入图片描述
同时给load事件添加一个startMonitor()方法

// 窗体启动事件代码 private void Form1_Load(object sender, EventArgs e) {       startMonitor();//开始监视:文件创建 }

第三步、编写startMonitor()函数

直接贴代码好了:

// 监视函数        private void startMonitor()        {               String path = @"D:\demo";//需要监控文件的路径            this.fileSystemWatcher = new FileSystemWatcher();            this.fileSystemWatcher.Path = path;            this.fileSystemWatcher.Filter = "*.txt";//需要监控的文件类型Filter可以包含多种类型.doc,甚至access数据库的mdb文件也可以。            this.fileSystemWatcher.Changed += new System.IO.FileSystemEventHandler(this.Changed);//这个Changed函数是要自己写的。            this.fileSystemWatcher.IncludeSubdirectories = true;            this.fileSystemWatcher.SynchronizingObject = this;            this.fileSystemWatcher.EnableRaisingEvents = true;        }

第四步、编写Changed()函数

Changed函数是你自己定义的,用于处理你捕获到这个事件后处理的逻辑。直接贴代码好了:

// 这里开始就是写你捕获到这个文件变化后,想要进行的逻辑处理        private void Changed(object sender, System.IO.FileSystemEventArgs e)        {               lock (this)            {                   //这里开始就是写你捕获到这个文件变化后,想要进行的逻辑处理                //是读取文件内容,解析后,写入数据库啊,还是通过接口发送啊等等,看你实际需求。                MessageBox.Show(e.FullPath, "提示");            }        }

结束

一般这种监控程序都要搭配最小化托盘开机自启等常规操作,这些做法后续有空我就补上~。

上一篇:蛋白质结构预测---蛋白质残基的基础知识(一)
下一篇:MySQL多表查询_索引_事务和隔离和事务原理_复习

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年03月27日 18时37分37秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章