從檔案中捕獲事件的 C# 程式
歡迎閱讀我們關於建立 C# 程式以從檔案中捕獲事件的綜合指南。無論您是 C# 程式設計初學者還是中級程式設計師,本文都將為您提供有效使用 C# 進行檔案事件處理的知識和技能。
檔案事件簡介
檔案事件是系統級通知,當建立、修改、刪除或重新命名檔案或目錄時發生。監控這些事件允許程式對檔案系統中的更改做出反應,這在各種場景中都非常有用,例如日誌監控、檔案同步等等。
瞭解 FileSystemWatcher
在 C# 中,FileSystemWatcher 類用於偵聽檔案系統中的更改。它可以監視檔案和目錄中的更改,並在發生此類更改時觸發事件。
FileSystemWatcher 提供多個事件,包括:
Created − 當在指定路徑中建立檔案或目錄時發生。
Changed − 當指定路徑中的檔案或目錄發生更改時發生。
Deleted − 當從指定路徑中刪除檔案或目錄時發生。
Renamed − 當指定路徑中的檔案或目錄被重新命名時發生。
建立 C# 程式以捕獲檔案事件
現在,讓我們建立一個使用 FileSystemWatcher 監視特定目錄並在建立、修改或刪除檔案時列印訊息的 C# 程式。
using System; using System.IO; class Program { static void Main() { // Specify the directory to monitor string directory = @"C:\temp"; // Create a new FileSystemWatcher FileSystemWatcher watcher = new FileSystemWatcher(directory); // Register event handlers watcher.Created += (s, e) => Console.WriteLine($"File created: {e.FullPath}"); watcher.Changed += (s, e) => Console.WriteLine($"File changed: {e.FullPath}"); watcher.Deleted += (s, e) => Console.WriteLine($"File deleted: {e.FullPath}"); // Start monitoring watcher.EnableRaisingEvents = true; // Wait for user to quit program Console.WriteLine("Press 'q' to quit the sample."); while (Console.Read() != 'q') ; } }
在這個程式中,我們首先指定要監視的目錄。然後,我們為該目錄建立一個 FileSystemWatcher,併為 Created、Changed 和 Deleted 事件註冊事件處理程式。每個事件處理程式都是一個 lambda 函式,它將訊息列印到控制檯。然後,我們將 EnableRaisingEvents 設定為 true 以開始監控。
高階 FileSystemWatcher 功能
FileSystemWatcher 類還提供高階功能,可以更精細地控制檔案監控。例如,您可以使用 Filter 屬性指定要監視的檔案型別。您還可以使用 NotifyFilter 屬性指定要監視的更改型別,例如檔案大小、上次寫入時間或安全設定的更改。
結論
在本教程中,我們學習瞭如何使用 FileSystemWatcher 類建立 C# 程式來捕獲檔案事件。此類提供了一個簡單而強大的工具來監控檔案系統中的更改,使您的應用程式能夠即時響應檔案或目錄的建立、修改、刪除等等。
雖然我們已經介紹了基礎知識,但 FileSystemWatcher 中還有更多高階功能值得探索。您可以微調要監視的更改型別或要監視的檔案型別,從而更精細地控制檔案系統監視任務。
監控檔案事件是許多應用程式中的常見需求,而 C# 透過其內建類和事件驅動程式設計模型使此任務變得簡單明瞭。通過了解如何使用 FileSystemWatcher,您已獲得了 C# 程式設計工具包中寶貴的工具。