使用 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中文網其他相關文章!