C#中的FileSystemWatcher是一个用于监视文件系统更改的类。
它可以监视指定目录中的文件和文件夹的创建、修改、删除和重命名等操作,并在这些操作发生时触发相应的事件。
以下是一个简单的示例,演示如何使用FileSystemWatcher来监视文件系统更改:
using System;
using System.IO;
namespace FileSystemWatcherExample
{
class Program
{
static void Main(string[] args)
{
// 创建FileSystemWatcher实例
FileSystemWatcher watcher = new FileSystemWatcher();
// 设置要监视的目录
watcher.Path = @"C:\MyFolder";
// 设置要监视的文件类型
watcher.Filter = "*.txt";
// 启用相应的事件
watcher.Created += Watcher_Created;
watcher.Changed += Watcher_Changed;
watcher.Deleted += Watcher_Deleted;
watcher.Renamed += Watcher_Renamed;
// 启动监视
watcher.EnableRaisingEvents = true;
Console.WriteLine("正在监视文件系统更改...");
Console.ReadLine();
}
private static void Watcher_Created(object sender, FileSystemEventArgs e)
{
Console.WriteLine(#34;文件创建: {e.FullPath}");
}
private static void Watcher_Changed(object sender, FileSystemEventArgs e)
{
Console.WriteLine(#34;文件修改: {e.FullPath}");
}
private static void Watcher_Deleted(object sender, FileSystemEventArgs e)
{
Console.WriteLine(#34;文件删除: {e.FullPath}");
}
private static void Watcher_Renamed(object sender, RenamedEventArgs e)
{
Console.WriteLine(#34;文件重命名: {e.OldFullPath} -> {e.FullPath}");
}
}
}
在这个示例中,我们创建了一个FileSystemWatcher实例,并设置了要监视的目录和文件类型。
然后,我们订阅了Created、Changed、Deleted和Renamed事件,以便在相应的文件系统更改发生时触发事件处理程序。
在事件处理程序中,我们简单地在控制台中显示相应的更改信息。
请注意,FileSystemWatcher类可以用于监视本地文件系统的更改,也可以用于监视网络共享文件夹的更改。
但是,需要注意的是,FileSystemWatcher可能会产生大量的事件,因此在使用它时要小心处理。
希望这个示例对您有帮助!
