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