转载:http://www.cnblogs.com/cssmystyle/archive/2011/07/29/2120799.html
Path——这个属性告诉FileSystemWatcher它需要监控哪条路径。例如,如果我们将这个属性设为“C:\Temp”,对象就监控那个目录发生的所有改变。
IncludeSubDirectories——这个属性说明FileSystemWatcher对象是否应该监控子目录中发生的改变。
Filter——这个属性允许你过滤掉某些类型的文件发生的变化。例如,如果我们只希望在TXT文件被修改/新建/删除时提交通知,可以将这个属性设为“*txt”。在处理高流
EnableRaisingEvents——获取或设置一个值,该值指示是否启用此组件。
IncludeSubdirectories——获取或设置一个值,该值指示是否监视指定路径中的子目录。
Changed——当被监控的目录中有一个文件被修改时,就提交这个事件。值得注意的是,这个事件可能会被提交多次,即使文件的内容仅仅发生一项改变。这是由于在保存文
Created——当被监控的目录新建一个文件时,就提交这个事件。如果你计划用这个事件移动新建的事件,你必须在事件处理器中写入一些错误处理代码,它能处理当前文件
Deleted——当被监控的目录中有一个文件被删除,就提交这个事件。
Renamed——当被监控的目录中有一个文件被重命名,就提交这个事件。
属性:
Name——这个属性中使事件被提交的文件的名称。其中并不包含文件的路径——只包含使用事件被提交的文件或目录名称。
ChangeType——这是一个WatcherChangeTypes,它指出要提交哪个类型的事件。其有效值包括:
- Changed
- Created
- Deleted
- Renamed
FullPath——这个属性中包含使事件被提交的文件的完整路径,包括文件名和目录名。
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")] private void Watcher() { FileSystemWatcher watcher=new FileSystemWatcher(); watcher.Path = @"d:\tmp"; watcher.Filter = "*.txt"; watcher.EnableRaisingEvents = true;//开启提交事件 watcher.IncludeSubdirectories = true;//允许侦测此目录下的子目录 watcher.NotifyFilter = NotifyFilters.FileName; watcher.Changed += OnChanged; watcher.Created += OnChanged; watcher.Deleted += OnChanged; watcher.Renamed += OnRenamed; } private static void OnChanged(object source, FileSystemEventArgs e) { Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType); } private static void OnRenamed(object source, RenamedEventArgs e) { Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath); }