阅读量:0
在C#中,可以使用FileSystemWatcher
类来监视文件系统中的文件变化。以下是一个简单的示例:
using System; using System.IO; class Program { static void Main() { FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = @"C:\path\to\directory"; watcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; watcher.Filter = "*.*"; watcher.Changed += OnChanged; watcher.Created += OnChanged; watcher.Deleted += OnChanged; watcher.Renamed += OnRenamed; watcher.EnableRaisingEvents = true; Console.WriteLine("Press 'q' to quit the program."); while(Console.Read()!='q'){} } private static void OnChanged(object source, FileSystemEventArgs e) { Console.WriteLine($"File: {e.FullPath} {e.ChangeType}"); } private static void OnRenamed(object source, RenamedEventArgs e) { Console.WriteLine($"File: {e.OldFullPath} renamed to {e.FullPath}"); } }
在这个示例中,我们创建了一个FileSystemWatcher
对象,并使用Path
属性指定要监视的目录。然后,我们设置NotifyFilter
属性来指定我们要监视的文件变化类型。在这个示例中,我们监视文件的修改、创建、删除和重命名操作。
接着,我们订阅了Changed
、Created
、Deleted
和Renamed
事件,分别在文件发生相应的变化时触发。在事件处理程序中,我们打印出文件的路径和变化类型。
最后,我们通过设置EnableRaisingEvents
属性为true
来启用文件系统监视,并在控制台中等待用户按下q
键来退出程序。
这样,我们就可以使用FileSystemWatcher
类来监视文件系统中文件的变化。