C#WinForm使用FileSystemWatcher监测文件定时读取
1.在WinForm中 加入FileSystemWatcher控件
2.实例化FileSystemWatcher对象
public void FileWatche(){FileSystemWatcher watch = new FileSystemWatcher(); watch.Path = @""; //监控的路径watch.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName |NotifyFilters.DirectoryName;watch.Filter = "*.*"; // 监控的文件格式watch.IncludeSubdirectories = true; // 监控子目录watch.Created += new FileSystemEventHandler(OnCreatedFile); // 有文件创建则触发事件(watch.Created)watch.Changed += new FileSystemEventHandler(OnChangedFile); //有文件改變則觸發事件(watch.Changed)watch.EnableRaisingEvents = true; // 启动监控 }//监控多种格式的文件public void FileWatche(){string[] filters = { "*.BMP", "*.JPG", "*.PNG" };foreach (string f in filters){FileSystemWatcher pwc = new FileSystemWatcher(); pwc.Path = @""; //监控的路径pwc.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName |NotifyFilters.DirectoryName;pwc.Filter = f; // 监控的文件格式pwc.IncludeSubdirectories = true; // 监控子目录pwc.Created += new FileSystemEventHandler(OnCreatedFile); // 有文件创建则触发事件(watch.Created)watch.Changed += new FileSystemEventHandler(OnChangedFile); //有文件改變則觸發事件(watch.Changed)pwc.EnableRaisingEvents = true; // 启动监控}}
3文件触发事件
//文档发生改变的是时候,读取数据private void OnChangedFile(object sender, FileSystemEventArgs e){ string FilePath = e.FullPath;//文件地址string FileName = e.Name;//文件名(sender as FileSystemWatcher).EnableRaisingEvents = false;//設置讀取時間,当监测文件改变等待指定的时间才开始读取setInternal(FileName,FilePath);(sender as FileSystemWatcher).EnableRaisingEvents = true;//这样可以保证changed事件可以被重新触发。}
4定时执行
public void setInternal(string name,string path){System.Timers.Timer timer;this.timer = new System.Timers.Timer(9000);//实例化Timer类,设置时间间隔 timer.Elapsed += new System.Timers.ElapsedEventHandler((s, e) => copy(s, e, name, path));//当到达时间的时候执行事件 timer.AutoReset =false ;//false是执行一次,true是一直执行,当为true时会导致只监测一个文档timer.Enabled = true;//设置是否执行System.Timers.Timer.Elapsed事件 }
5执行文件读取
public void copy(object source, ElapsedEventArgs e, string name1, string name2){//需要执行的操作 }
C#WinForm使用FileSystemWatcher监测文件定时读取相关推荐
- 如何运用JAXB定时读取解析xml文件?
Background系统 一.背景 在许多开发需求中都解析xml文件的需求,对于规格复杂的xml文件,方法很多主要有JDK原生dom形式,SAX形式,DOM4J ,JAXB 4种方式,但是JAXB(J ...
- curl post https_Linux命令cURL详解,并实现文件定时上传到ftp服务器的程序
前言 前段时间群里讨论,想实现某个文件定时上传到服务器要怎么来实现.我记得之前做过 一个项目:为高通的iot模组编写FOTA功能:实现模组可以远程下载升级镜像包,实现版本升级功能.并当时使用的一个超级 ...
- 使用Linux命令cURL实现文件定时上传到ftp服务器的程序
前言 前段时间群里讨论,想实现某个文件定时上传到服务器要怎么来实现.我记得之前做过 一个项目:为高通的iot模组编写FOTA功能:实现模组可以远程下载升级镜像包,实现版本升级功能.并当时使用的一个超级 ...
- curl http header_利用Linux命令cURL实现文件定时上传到ftp服务器的小程序,实用
前言 前段时间群里讨论,想实现某个文件定时上传到服务器要怎么来实现.我记得之前做过 一个项目:为高通的iot模组编写FOTA功能:实现模组可以远程下载升级镜像包,实现版本升级功能.并当时使用的一个超级 ...
- 实时监测文件夹且根据条件自动删除指定文件夹下文件
一.需求说明 当我们的项目开发完成部署到生产环境使用后,为了便于后续的运维工作(对问题及时排查和解决)在项目中编写了一些关于对异常情况或者实时数据自动生成对应的日志文件等内容,但是随着时间的流逝,这些 ...
- vc++从txt文件中读取数据
数值分析课上老师说要将数据写在txt文件上,然后让程序从txt文件中读取数据.让本来C++已经遗忘了很久的我们无从下手,在网上也查看了很多,发现大多都是扯淡,放在VC++编辑器上发现并不能运行,不知道 ...
- android中XMl文件的读取
废话不多说了直接上代码: 新建一个Xml文件用于读取: test.xml <Languages cat="1"><lan id="1"> ...
- php 操作txt,PHP 从txt文件中读取数据
一.打开/关闭文件 1.对文件操作时首先要打开文件,打开文件用 fopen()函数,语法是: fopen(filename,mode,include_path,context); 2.对文件操作结束后 ...
- python中如何在写文件之前删除文件内容_Python:文件的读取、创建、追加、删除、清空...
一.用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行: #python >>>f=open('f.txt','w') # r只读,w可写,a追加 >> ...
最新文章
- Arduino IDE增加ATmega32开发选项遇到的问题
- Linux_基础指令
- C语言单片机中延时程序的实现
- 快速了解AngularJs HTTP响应拦截器
- 支付宝的商业与技术创新双轮驱动 创造数字时代普惠金融“奇迹”
- Luogu P4774 / LOJ2721 【[NOI2018]屠龙勇士】
- Python使用OpenCV+pillow提取AVI视频中关键帧图像
- 解决IntelliJ IDEA在笔记本屏幕中部分界面显示不全被遮挡的问题
- linux 抓包tcp
- yolo批量检测图片
- SQL 关于时区的处理案例
- opencv3.2教程linux,Linux编译OpenCV3.2.0-OCL模块并使用
- 洛谷刷题C语言:闰年判断、Apples、洛谷团队系统、肥胖问题、三位数排序
- 头歌--Java入门 - 分支结构
- Python实现网络爬虫,爬关键词“武汉”的百度新闻
- 企业网盘+超融合,联想云加速的双引擎
- Transformers 多语言模型 | 十一
- LTC6268-10 4GHz 超低偏置电流 FET 输入运算放大器
- 数字化转型之数字化和业务化论证
- 民营企业债权融资方式
热门文章
- unity 接入leapmotion教程 一 安装
- 新年快乐+情人节快乐!
- Acwing第 78 场周赛
- 亚马逊echo中国使用_如何使用Amazon Echo调音吉他
- 安卓代码怎么设置省电模式_Android 5.0开启省电模式的方法 Android 5.0省电介绍
- Arthas 使用详解
- 移动硬盘无法访问“文件或目录损坏且无法读取”,怎样才能修复?
- mysql 记录客户端ip_MySQL查看所有连接的客户端ip
- 什么样的男人才是女人眼中最帅的男人
- javascript通过点击事件启动QQ程序