.NET 文件系统监控
利用 C# 和 .NET Framework 提供的 FileSystemWatcher
类,开发者可以轻松实现对文件系统变化的实时监控。FileSystemWatcher
类允许订阅多种文件系统事件,例如文件创建、修改、删除以及重命名等。
以下是一个简单的 C# 代码示例,展示了如何使用 FileSystemWatcher
监控指定目录下的文件变化:
using System;
using System.IO;
public class Example
{
public static void Main(string[] args)
{
// 创建 FileSystemWatcher 实例并设置监控目录
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = @"C:MyDirectory";
// 设置要监控的事件类型
watcher.NotifyFilter = NotifyFilters.LastAccess |
NotifyFilters.LastWrite |
NotifyFilters.FileName |
NotifyFilters.DirectoryName;
// 订阅事件处理程序
watcher.Changed += OnChanged;
watcher.Created += OnCreated;
watcher.Deleted += OnDeleted;
watcher.Renamed += OnRenamed;
// 启动监控
watcher.EnableRaisingEvents = true;
// 保持控制台应用程序运行
Console.WriteLine("正在监控文件系统变化,按 Enter 键退出...");
Console.ReadLine();
}
// 文件或目录更改时触发的事件处理程序
private static void OnChanged(object source, FileSystemEventArgs e)
{
Console.WriteLine($"文件或目录已更改: {e.FullPath}");
}
// 文件或目录创建时触发的事件处理程序
private static void OnCreated(object source, FileSystemEventArgs e)
{
Console.WriteLine($"文件或目录已创建: {e.FullPath}");
}
// 文件或目录删除时触发的事件处理程序
private static void OnDeleted(object source, FileSystemEventArgs e)
{
Console.WriteLine($"文件或目录已删除: {e.FullPath}");
}
// 文件或目录重命名时触发的事件处理程序
private static void OnRenamed(object source, RenamedEventArgs e)
{
Console.WriteLine($"文件或目录已重命名: {e.OldFullPath} -> {e.FullPath}");
}
}
注意: 在实际应用中,应根据具体需求修改监控目录、事件类型以及事件处理逻辑。
38.53KB
文件大小:
评论区