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

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

Susan Sarandon
Susan Sarandonオリジナル
2025-01-13 06:19:42866ブラウズ

How Can I Monitor File System Changes in C#?

FileSystemWatcher を使用して 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 += OnChanged;
    watcher.Created += OnCreated;
    watcher.Deleted += OnDeleted;
    watcher.Renamed += OnRenamed;

    // 启动监视器
    watcher.EnableRaisingEvents = true;
}</code>

イベントハンドラー:

FileSystemWatcher クラスは、ファイル システムの変更の種類ごとに特定のイベント ハンドラーを提供します。これらのイベント ハンドラーを使用すると、ファイルが変更、作成、削除、または名前変更されたときに実行されるアクションを定義できます。

たとえば、OnChanged イベント ハンドラーは、ファイルが変更されたときに、変更のログ記録などの特定のアクションを実行できます。

イベント処理の例:

<code class="language-csharp">private static void OnChanged(object source, FileSystemEventArgs e)
{
    Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType);
}

private static void OnCreated(object source, FileSystemEventArgs e)
{
    Console.WriteLine("File Created: " + e.FullPath);
}

private static void OnDeleted(object source, FileSystemEventArgs e)
{
    Console.WriteLine("File Deleted: " + e.FullPath);
}

private static void OnRenamed(object source, RenamedEventArgs e)
{
    Console.WriteLine("File Renamed: " + e.OldFullPath + " to " + e.FullPath);
}</code>

FileSystemWatcher クラスを使用すると、ファイル システム内の変更を効果的に監視し、検出された変更に基づいて適切なアクションを実行できます。

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

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