using System; using System.Collections.Generic; using System.Text; using System.IO; namespace 文件监视 { class Program { static void Main(string[] args) { FileSystemWatcher watcher = new FileSystemWatcher(@"F:/"); //获取或设置要监视的更改类型 //NotifyFilters指定要在文件或文件夹中监视的更改 //LastAccess上一次打开的日期 //LastWrite上一次向文件或目录写入内容的时间 //FileName文件名 //DirectoryName目录名 watcher.NotifyFilter = (NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName); //更改指定文件或目录时发生 watcher.Changed+=new FileSystemEventHandler(OnChanged); //当指定的path中文件或目录创建时发生 watcher.Created+=new FileSystemEventHandler(OnChanged); //删除path中文件或目录时发生 watcher.Deleted+=new FileSystemEventHandler(OnChanged); //重命名path中文件或目录时发生 watcher.Renamed+=new RenamedEventHandler(OnRenamed); //当内部缓冲区溢出时发生 watcher.Error += new ErrorEventHandler(OnError); watcher.EnableRaisingEvents = true; Console.WriteLine("Press 'Enter' to exit..."); Console.ReadLine(); } private static void OnChanged(object source,FileSystemEventArgs e) { WatcherChangeTypes changeType = e.ChangeType; Console.WriteLine("The file {0} {1}",e.FullPath,changeType.ToString()); } private static void OnRenamed(object source,RenamedEventArgs e) { WatcherChangeTypes changeType = e.ChangeType; Console.WriteLine("The file {0} {2} to {1}",e.OldFullPath,e.FullPath,changeType.ToString()); } private static void OnError(object source, ErrorEventArgs e) { Console.WriteLine("An error has occured."); } } }