在C#中,你可以使用FileSystemWatcher类来监视文件夹内的文件变化。这个类允许你订阅多种事件,比如文件创建、删除、重命名、修改等等。
以下是一个简单的示例,展示如何使用FileSystemWatcher来监视文件夹内的变化:
- using System;
- using System.IO;
-
- class Program
- {
- static void Main()
- {
- // 监视的文件夹路径
- string folderPath = @"C:\YourFolderPath";
-
- // 创建一个 FileSystemWatcher 实例并设置要监视的文件夹路径
- using (FileSystemWatcher watcher = new FileSystemWatcher(folderPath))
- {
- // 启用监视
- watcher.EnableRaisingEvents = true;
-
- // 订阅文件变化事件
- watcher.Created += OnFileCreated;
- watcher.Deleted += OnFileDeleted;
- watcher.Changed += OnFileChanged;
- watcher.Renamed += OnFileRenamed;
-
- // 提示用户开始监视
- Console.WriteLine("开始监视文件夹...");
-
- // 阻止控制台关闭
- Console.ReadLine();
- }
- }
-
- // 文件创建时触发的事件
- private static void OnFileCreated(object sender, FileSystemEventArgs e)
- {
- Console.WriteLine($"文件创建:{e.Name}");
- }
-
- // 文件删除时触发的事件
- private static void OnFileDeleted(object sender, FileSystemEventArgs e)
- {
- Console.WriteLine($"文件删除:{e.Name}");
- }
-
- // 文件修改时触发的事件
- private static void OnFileChanged(object sender, FileSystemEventArgs e)
- {
- Console.WriteLine($"文件修改:{e.Name}");
- }
-
- // 文件重命名时触发的事件
- private static void OnFileRenamed(object sender, RenamedEventArgs e)
- {
- Console.WriteLine($"文件重命名:{e.OldName} => {e.Name}");
- }
- }
-
这个示例创建了一个FileSystemWatcher实例并设置了要监视的文件夹路径。然后,它订阅了文件创建、删除、修改、重命名等事件,并在事件发生时输出相应的信息到控制台。
你可以根据自己的需求扩展这个示例,处理其他文件变化相关的事件或执行特定的操作。要注意,FileSystemWatcher的使用需要谨慎,因为在监视大量文件或频繁变化的情况下,可能会出现性能问题。