利用windows系统自带的API检测文件的修改/删除/新建/重命名
这个接口是比较好用的,不需要第三方的dll,只需要system.IO引入了就可以使用了
修改/删除/新建/重命名这几种对文件的操作都能够被监测到
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Configuration; namespace ReadExcel.Common { class FileWatcher { public void Watcher() { FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = ConfigurationManager.AppSetting("Detach"); watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; watcher.Filter = "*"; // Add event handlers. watcher.Changed += new FileSystemEventHandler(this.OnChanged); watcher.Created += new FileSystemEventHandler(this.OnChanged); watcher.Deleted += new FileSystemEventHandler(this.OnChanged); watcher.Renamed += new RenamedEventHandler(this.OnRenamed); // Begin watching. watcher.EnableRaisingEvents = true; } private void OnChanged(object source, FileSystemEventArgs e) => Console.WriteLine($"File: {e.FullPath} {e.ChangeType}"); private void OnRenamed(object source, RenamedEventArgs e) => Console.WriteLine($"File: {e.OldFullPath} renamed to {e.FullPath}"); } }