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

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

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-13 09:15:47402ブラウズ

How Can I Monitor File Changes in C# Using FileSystemWatcher?

C# の FileSystemWatcher を使用してファイルの変更を監視する

C# アプリケーションでは、ディスク上のファイルの変更を検出する必要がある場合があります。これは、.NET Framework によって提供される FileSystemWatcher クラスを通じて簡単に実現できます。

FileSystemWatcher を使用してファイル変更検出を実装します

  1. FileSystemWatcher インスタンスを作成します: FileSystemWatcher コンストラクターを使用してインスタンスを初期化します。その Path 属性を監視するディレクトリまたはファイルに設定します。
  2. 監視フィルターの構成: NotifyFilter プロパティを使用して、検出する変更の種類を指定します。一般的なオプションには、LastAccess、LastWrite、FileName、および DirectoryName が含まれます。
  3. ファイル タイプのフィルター (オプション): Filter プロパティを設定して、監視操作を特定のファイル タイプに制限します。たとえば、テキスト ファイルのみを監視するには、フィルターを「*.txt」に設定します。
  4. イベント ハンドラーの追加: ファイル変更が発生したときに通知を受け取るイベント ハンドラーを登録します。一般的なイベントには、変更、作成、削除、名前変更などがあります。
<code class="language-csharp">private static void OnChanged(object source, FileSystemEventArgs e)
{
    // 当文件更改、创建或删除时,实现所需的动作。
    Console.WriteLine($"文件: {e.FullPath} {e.ChangeType}");
}

private static void OnRenamed(object source, RenamedEventArgs e)
{
    // 定义在文件重命名时要执行的动作。
    Console.WriteLine($"文件: {e.OldFullPath} 重命名为 {e.FullPath}");
}</code>
  1. 監視の開始: 監視を開始するには、EnableRaisingEvents プロパティを true に設定します。この機能が有効になっている場合、指定されたフォルダーまたはファイルに変更が加えられると、対応するイベント ハンドラーがトリガーされます。

サンプルコード:

次のコード スニペットは、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 += OnChanged;
    watcher.Created += OnChanged;
    watcher.Deleted += OnChanged;
    watcher.Renamed += OnRenamed;

    // 开始监控。
    watcher.EnableRaisingEvents = true;
}</code>
このメカニズムを実装することで、C# アプリケーションはディスク上のファイルの変更を効果的に追跡して応答できるようになり、リアルタイムのデータ同期、バージョン管理、その他の重要な操作が可能になります。

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

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