.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}");
    }
}

注意: 在实际应用中,应根据具体需求修改监控目录、事件类型以及事件处理逻辑。

rar 文件大小:38.53KB