C# 使用FileSystemWatcher来监视文件系统的变化
对于一个文件夹的改变,C#这边有自己的类来实现,我们不需要关心它的内部实现机制,不需要关心它底层调用哪些API,我们只需要关心如何去调用它,如何让它帮助我们记录文件夹的修改情况即可。
#region 监视文件夹的变化 FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = "f:\\"; watcher.NotifyFilter =//被监控的方面 NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; // 订阅一些事件,当它被触发时(.net(windows)底层触发它,我们不用管),执行我们的方法 watcher.Changed += (object source, FileSystemEventArgs e) => { Console.WriteLine("文件{0}已经被修改,修改类型{1}", e.FullPath, e.ChangeType.ToString()); }; watcher.Created += (object source, FileSystemEventArgs e) => { Console.WriteLine("文件{0}被建立", e.FullPath); }; watcher.Deleted += (object source, FileSystemEventArgs e) => { Console.WriteLine("文件{0}已经被删除", e.FullPath); }; watcher.Renamed += (object source, RenamedEventArgs e) => { Console.WriteLine("文件{0}的名称已经从{1}变成了{2}", e.OldFullPath, e.OldName, e.Name); }; // 为true表示开启FileSystemWatcher组件,反之我们的监控将不启作用 watcher.EnableRaisingEvents = true; #endregion