在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的使用需要谨慎,因为在监视大量文件或频繁变化的情况下,可能会出现性能问题。