雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

C#检测文件夹内的文件变化

2024-09-14 24

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

更新于:1个月前
赞一波!

文章评论

评论问答