c# 实现文件更新通知

可以使用 FileSystemWatcher 类监视文件或目录的更改,一旦检测到更改,就可以触发相应的事件并通知软件。以下是一个简单的实现示例,展示如何监视指定目录中的文件更新,并对此作出反应。

使用 FileSystemWatcher 监视文件更新
FileSystemWatcher 可以监视文件系统的变化,支持以下事件:

Changed:文件或目录已更改。
Created:文件或目录已创建。
Deleted:文件或目录已删除。
Renamed:文件或目录已重命名。

csharp 复制代码
using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string pathToWatch = @"C:\path\to\your\folder"; // 替换为要监视的文件夹路径
        
        // 创建 FileSystemWatcher 实例
        using (FileSystemWatcher watcher = new FileSystemWatcher())
        {
            watcher.Path = pathToWatch;

            // 监视文件更改的类型
            watcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;

            // 监视所有文件
            watcher.Filter = "*.*";

            // 订阅事件
            watcher.Changed += OnChanged;
            watcher.Created += OnChanged;
            watcher.Deleted += OnChanged;
            watcher.Renamed += OnRenamed;

            // 开始监视
            watcher.EnableRaisingEvents = true;

            Console.WriteLine($"正在监视目录: {pathToWatch}");
            Console.WriteLine("按任意键退出...");
            Console.ReadKey(); // 等待用户按键退出
        }
    }

    // 文件或目录更改的处理方法
    private static void OnChanged(object sender, FileSystemEventArgs e)
    {
        Console.WriteLine($"文件 {e.FullPath} 的状态已更改: {e.ChangeType}");
    }

    // 文件或目录重命名的处理方法
    private static void OnRenamed(object sender, RenamedEventArgs e)
    {
        Console.WriteLine($"文件 {e.OldFullPath} 重命名为 {e.FullPath}");
    }
}
相关推荐
一个会的不多的人7 分钟前
C# Solidworks二次开发:宏录制实战讲解(第二讲)
开发语言·c#
ProMer_Wang10 分钟前
C#探索之路基础夯实篇(6):C#在Unity中的自定义特性
unity·c#·1024程序员节
月巴月巴白勺合鸟月半2 小时前
使用C#学习Office文件的处理(pptx docx xlsx)
学习·microsoft·c#·excel·office
WangMing_X2 小时前
C# 单个函数实现各进制数间转换
java·开发语言·算法·c#·winform·软件
△曉風殘月〆4 小时前
C#与C++结构体的交互
c++·c#·p/invoke
TXRock5 小时前
从入门到放弃,我们为何从 Blazor 回到 Vue
c#·.net·recommendations
试行5 小时前
C#实现ClientWebSocket请求服务端,接收完所有返回值,解决接收数据不全
开发语言·c#
※※冰馨※※1 天前
Unity3D 鼠标移动到按钮上显示信息
开发语言·unity·c#
cl°1 天前
【WPF】如何使用异步方法
经验分享·c#·wpf