public static FileSystemWatcher watcher = new FileSystemWatcher();
watcher 主要事件:
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.Created += new FileSystemEventHandler(OnChanged);
watcher.Deleted += new FileSystemEventHandler(OnChanged);
watcher.Renamed += new RenamedEventHandler(OnRenamed);
using System; using System.IO; namespace test { class Program { static void Main(string[] args) { WatcherStrat(@"C:\test", "*.txt"); //由于是控制台程序,加个输入避免主线程执行完毕,看不到监控效果 Console.ReadKey(); } private static void WatcherStrat(string path, string filter) { FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = path; watcher.Filter = filter; watcher.Changed += new FileSystemEventHandler(OnProcess); watcher.Created += new FileSystemEventHandler(OnProcess); watcher.Deleted += new FileSystemEventHandler(OnProcess); watcher.Renamed += new RenamedEventHandler(OnRenamed); watcher.EnableRaisingEvents = true; } private static void OnProcess(object source, FileSystemEventArgs e) { if (e.ChangeType == WatcherChangeTypes.Created) { OnCreated(source, e); } else if (e.ChangeType == WatcherChangeTypes.Changed) { OnChanged(source, e); } else if (e.ChangeType == WatcherChangeTypes.Deleted) { OnDeleted(source, e); } } private static void OnCreated(object source, FileSystemEventArgs e) { Console.WriteLine("文件新建事件处理逻辑"); } private static void OnChanged(object source, FileSystemEventArgs e) { Console.WriteLine("文件改变事件处理逻辑"); } private static void OnDeleted(object source, FileSystemEventArgs e) { Console.WriteLine("文件删除事件处理逻辑"); } private static void OnRenamed(object source, RenamedEventArgs e) { Console.WriteLine("文件重命名事件处理逻辑"); } } }
这篇文档对您是否有帮助?