FileSystemWatcher 监视指定目录中的变更
.Net框架类库中的FileSystemWatcher如它的名称一样是一个用于监视文件系统变化的一个控件。使用 FileSystemWatcher 监视指定目录中的更改。可监视指定目录中的文件或子目录的更改。可以创建一个组件来监视本地计算机、网络驱动器或远程计算机上的文件。
若要监视所有文件中的更改,请将 Filter 属性设置为空字符串 ("") 或使用通配符(“*.*”)。若要监视特定的文件,请将 Filter 属性设置为该文件名。例如,若要监视文件 MyDoc.txt 中的更改,请将 Filter 属性设置为“MyDoc.txt”。也可以监视特定类型文件中的更改。例如,若要监视文本文件中的更改,请将 Filter 属性设置为“*.txt”。
可监视目录或文件中的若干种更改。例如,可监视文件或目录的 Attributes、LastWrite 日期和时间或 Size 方面的更改。通过将 NotifyFilter 属性设置为 NotifyFilters 值之一来达到此目的。
可监视文件或目录的重命名、删除或创建。例如,若要监视文本文件的重命名,请将 Filter 属性设置为“*.txt”,并使用为其参数指定的 Renamed 来调用 WaitForChanged 方法。
下面的示例使用FileSystemWatcher监视当前应用程序下的所有.txt文本文件的变更:
//定义FileSystemWatcher对象
FileSystemWatcher fsw = null;
public frm12FileSystemWatcher()
{
InitializeComponent(); //实例化一个FileSystemWatcher对象
fsw = new FileSystemWatcher();
//设置要监视的目录的路径,当前程序运行的目录
fsw.Path = Application.StartupPath;
//确定在目录中监视所有的.txt文件
fsw.Filter = "*.txt";
//监视的目录中创建文件或目录时引发的事件
fsw.Created += new FileSystemEventHandler(fsw_Created);
//监视的目录中删除文件或目录时引发的事件
fsw.Deleted += new FileSystemEventHandler(fsw_Deleted); //监视的目录中改变文件或目录时引发的事件
//监视的目录中的文件或目录的大小、系统属性、
//上次写入时间、上次访问时间或安全权限进行更改时
//可以通过设置可组合 NotifyFilters 枚举的成员,以同时监视多种类型的更改
fsw.Changed += new FileSystemEventHandler(fsw_Changed);
} void fsw_Changed(object sender, FileSystemEventArgs e)
{
//由于不能跨线程访问,通匿名方法将显示操作交给主线程
this.Invoke((MethodInvoker)delegate() { listBox1.Items.Add("文件:" + e.FullPath + "被修改"); });
} void fsw_Created(object sender, FileSystemEventArgs e)
{
//由于不能跨线程访问,通匿名方法将显示操作交给主线程
this.Invoke((MethodInvoker)delegate() { listBox1.Items.Add("文件:" + e.FullPath + "被创建"); });
} void fsw_Deleted(object sender, FileSystemEventArgs e)
{
//由于不能跨线程访问,通匿名方法将显示操作交给主线程
this.Invoke((MethodInvoker)delegate() { listBox1.Items.Add("文件:" + e.FullPath + "被删除"); });
} private void btnStart_Click(object sender, EventArgs e)
{
//监视开始
fsw.EnableRaisingEvents = true;
//创建一个文件,并写入当前的日期时间
File.AppendAllText("textFile.txt", DateTime.Now.ToString());
//修改文件,写入当前的日期时间
File.AppendAllText("textFile.txt", DateTime.Now.ToString());
//删除文件
File.Delete("textFile.txt");
}
转自:张果老师 原文地址:http://www.cnblogs.com/best/archive/2011/07/30/2122088.html
FileSystemWatcher 监视指定目录中的变更的更多相关文章
- 使用FileSystemWatcher监视指定目录
使用 FileSystemWatcher 监视指定目录中的更改.可监视指定目录中的文件或子目录的更改. 以下是一个简单的实例,用来监控指定目录下文件的新增.删除.重命名等情况(文件内容更改会触发多次, ...
- Window Linux下实现指定目录内文件变更的监控方法
转自:http://qbaok.blog.163.com/blog/static/10129265201112302014782/ 对于监控指定目录内文件变更,window 系统提供了两个未公开API ...
- python glob 用通配符查找指定目录中的文件 - 开源中国社区
python glob 用通配符查找指定目录中的文件 - 开源中国社区 python glob 用通配符查找指定目录中的文件
- java统计指定目录中文件的个数和总的大小
转: 统计指定目录中文件的个数和总的大小 package file; import java.io.File; import java.util.ArrayList; public class Fil ...
- APACHE2.4 指定目录中的字符编码
APACHE2.4 指定目录中的字符编码 xampp 的 apache2.4 默认字符编码是西文,中文字符显示乱码,在 httpd.conf 没有 AddDefaultCharset utf-8 这样 ...
- File类之在指定目录中查找文件
package IoDemo; import java.io.File; /** * @Title:FileDemo2 * @Description:在指定的目录中查找文件 * @author Cra ...
- USB-Blaster驱动安装失败——文件哈希值不在指定目录中
右击此电脑,选择管理,选择设备管理器,更新USB-Blaster驱动出现问题 问题: 文件的哈希值不在指定的目录文件中,如图: 解决办法: Windows键+R→shutdown.exe /r /o ...
- 【Python】自动生成html文件查看指定目录中的所有图片
获取本目录下的pic子目录中的所有图片(jpg,png,bmp,gif等,此处以jpg文件为例),然后生成一个image.html文件,打开该html文件即可在浏览器中查看pic子目录中的所有图片. ...
- 将指定目录中的txt文件转化成excel文件
#!/usr/bin/env python#coding:utf-8import reimport osimport globimport xlwtimport sysdir=r"F:\te ...
随机推荐
- 快速排序 JAVA实现
快速排序 每次排序的时候设置一个基准点,将小于等于基准点的数全部放到基准点的左边,将大于等于基准点的数全部放到基准点的右边.快速排序是不稳定的,时间复杂度(平均):nlogn public class ...
- 【12c OCP】CUUG OCP认证071考试原题解析(33)
33.choose the best answer View the Exhibit and examine the structure of the ORDER_ITEMS table. Exami ...
- Wannafly挑战赛29题解
这套题目非常有意思啊23333--话说为啥没有上条先生的呢-- 传送门 \(A\) 御坂美琴 蠢了--首先先判总共加起来等不等于\(n\),不是的话就不行 然后dfs记录\(n\)不断分下去能分成哪些 ...
- ROS(URDF机器人建模)
新建功能包mbot_description 在功能包下新建文件config,launch,meshes,urdf. 在launch文件夹下新建文件display_mbot_base_urdf.laun ...
- 3XX重定向
3XX响应结果表明浏览器需要执行某些特殊的处理以正确处理请求 301 Moved Permanently 永久性重定向 该状态码表示请求的资源已经被分配了新的URI,以后应使用资源现 ...
- javascript IE事件处理及跨浏览器事件处理程序
一.javascript事件处理中 addEventListener/removeEventListener 用于绑定事件和解除事件,但大多用于chrome/火狐/IE9这些比较高级的浏览器中,IE8 ...
- scrapy实战1,基础知识回顾和虚拟环境准备
视频地址 https://coding.imooc.com/learn/list/92.html 一. 基础知识回顾 1. 正则表达式 1)贪婪匹配,非贪婪匹配 .*? 非贪婪 . ...
- 兼容各浏览器的js回车事件
HTML代码: <input type="text" onkeydown="EnterPress(event)" /> JS代码: function ...
- 苹果的 Metal 工程
Basic Buffers 当向顶点着色器传递数据过多(大于 4096 字节)时, setVertexBytes:length:atIndex: 方法不允许使用,应该使用 setVertexBytes ...
- linux下不同颜色文件的性质
绿色文件: 可执行文件,可执行的程序 红色文件:压缩文件或者包文件 蓝色文件:目录 白色文件:一般性文件,如文本文件,配置文件,源码文件等 浅蓝色文件:链接文件,主要是使用ln命令建立的文件 红色闪烁 ...