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 サイトの他の関連記事を参照してください。