首頁 > 後端開發 > C++ > 如何在 C# 中監控檔案系統變更?

如何在 C# 中監控檔案系統變更?

Susan Sarandon
發布: 2025-01-13 06:19:42
原創
872 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板