ホームページ >バックエンド開発 >C++ >C# でファイルの変更を監視するにはどうすればよいですか?

C# でファイルの変更を監視するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-13 09:56:12251ブラウズ

How Can I Monitor File Changes in C#?

C# でファイルの変更を監視する

問題: ディスク上のファイルの変更を検出するメカニズムを探しています。

答え: FileSystemWatcher クラスは信頼性の高いソリューションを提供します。

手順:

FileSystemWatcher クラスは、指定されたディレクトリ内のファイルの変更を監視します。変更が発生すると、必要なアクションを実行するために処理できるイベントが発生します。次のコードは、FileSystemWatcher の使用方法を示しています。

<code class="language-csharp">public void CreateFileWatcher(string path)
{
    // 创建 FileSystemWatcher 实例并配置其属性
    FileSystemWatcher watcher = new FileSystemWatcher();
    watcher.Path = path;
    watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
       | NotifyFilters.FileName | NotifyFilters.DirectoryName;
    watcher.Filter = "*.txt";

    // 添加事件处理程序
    watcher.Changed += new FileSystemEventHandler(OnChanged);
    watcher.Created += new FileSystemEventHandler(OnChanged);
    watcher.Deleted += new FileSystemEventHandler(OnChanged);
    watcher.Renamed += new RenamedEventHandler(OnRenamed);

    // 开始监控
    watcher.EnableRaisingEvents = true;
}

private static void OnChanged(object source, FileSystemEventArgs e)
{
    // 定义在更改、创建或删除文件时要执行的操作
    Console.WriteLine("文件: " + e.FullPath + " " + e.ChangeType);
}

private static void OnRenamed(object source, RenamedEventArgs e)
{
    // 定义在文件重命名时要执行的操作
    Console.WriteLine("文件: {0} 重命名为 {1}", e.OldFullPath, e.FullPath);
}</code>
この例では、特定のパスにあるテキスト ファイル (*.txt) への変更を監視するようにモニターが構成されています。そのパス内のファイルが変更、作成、削除、または名前変更されると、対応するイベント ハンドラーが呼び出され、イベントのログ記録やアプリケーションの状態の更新など、それに応じたアクションを実行できるようになります。

以上がC# でファイルの変更を監視するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。