C#(99):文件监视 FileSystemWatcher
FileSystemWatcher
FileSystemWatcher 类 (System.IO) | Microsoft Docs
1、构造函数
给定要监视的指定目录和文件类型,初始化 FileSystemWatcher 类的新实例。
public FileSystemWatcher (string path, string filter);
2、实例:
下面的示例创建FileSystemWatcher监视在运行时指定的目录。 该组件设置为监视中的更改LastWrite
和LastAccess
时间、 创建、 删除、 或重命名的目录中的文本文件。
如果文件是更改、 创建,或删除,文件的路径将打印到控制台。 在一个文件重命名后,旧的和新路径将打印到控制台。
static void Main() { Run(); } [PermissionSet(SecurityAction.Demand, Name = "FullTrust")] private static void Run() { // 创建一个新的FileSystemWatcher并设置其属性. using (FileSystemWatcher watcher = new FileSystemWatcher()) { watcher.Path = "C:\\aa\\"; // 只监视文本文件. watcher.Filter = "*.txt"; // 监视LastAccess和LastWrite时间的变化,以及文件或目录的重命名. watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;// 添加事件处理程序. watcher.Changed += OnChanged; watcher.Created += OnChanged; watcher.Deleted += OnChanged; watcher.Renamed += OnRenamed; // 开始监视. watcher.EnableRaisingEvents = true; // 等待用户退出程序. Console.WriteLine("Press 'q' to quit the sample."); 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}");
posted on 2021-04-29 17:27 springsnow 阅读(487) 评论(0) 编辑 收藏 举报