C# Directory类如何监视文件变化

avatar
作者
筋斗云
阅读量: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属性来指定我们要监视的文件变化类型。在这个示例中,我们监视文件的修改、创建、删除和重命名操作。

接着,我们订阅了ChangedCreatedDeletedRenamed事件,分别在文件发生相应的变化时触发。在事件处理程序中,我们打印出文件的路径和变化类型。

最后,我们通过设置EnableRaisingEvents属性为true来启用文件系统监视,并在控制台中等待用户按下q键来退出程序。

这样,我们就可以使用FileSystemWatcher类来监视文件系统中文件的变化。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!