using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; using System.IO; using System.Windows.Forms; using System.Threading; namespace ClientApp { class FileWaterDemo { static void Main(string[] args) { Console.WriteLine("******The Amazing File Watcher App******"); //step01:创建一个文件系统的监听器 FileSystemWatcher watcher = new FileSystemWatcher(); //step02:设置监听的文件夹路径信息 try { watcher.Path = @"C:/MyFolder"; } catch (ArgumentException ex) { Console.WriteLine(ex.Message); return; } //step03:设置监听选项和监听的文件类型 watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; watcher.Filter = "*.txt"; //step04:设置文件改变的监听事件处理 watcher.Changed += new FileSystemEventHandler(watcher_Changed); watcher.Created += new FileSystemEventHandler(watcher_Changed); watcher.Deleted += new FileSystemEventHandler(watcher_Changed); watcher.Renamed += new RenamedEventHandler(watcher_Renamed); //step05:开始观察目录 watcher.EnableRaisingEvents = true; Console.WriteLine(@"Press 'q' to exit"); while (Console.Read() != 'q') ; } //step06:监听事件处理 static void watcher_Renamed(object sender, RenamedEventArgs e) { Console.WriteLine(@"File:{0} renamed to {1}", e.OldName, e.Name); } static void watcher_Changed(object sender, FileSystemEventArgs e) { Console.WriteLine("File:{0}{1}!", e.FullPath, e.ChangeType); } } }