Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Memantau Perubahan Fail dalam C# Menggunakan FileSystemWatcher?

Bagaimanakah Saya Boleh Memantau Perubahan Fail dalam C# Menggunakan FileSystemWatcher?

Patricia Arquette
Patricia Arquetteasal
2025-01-13 09:15:47402semak imbas

How Can I Monitor File Changes in C# Using FileSystemWatcher?

Pantau perubahan fail menggunakan FileSystemWatcher C#

Dalam aplikasi C#, anda mungkin perlu mengesan pengubahsuaian fail pada cakera. Ini boleh dicapai dengan mudah melalui kelas FileSystemWatcher yang disediakan oleh Rangka Kerja .NET.

Gunakan FileSystemWatcher untuk melaksanakan pengesanan perubahan fail

  1. Buat contoh FileSystemWatcher: Mulakan tika menggunakan pembina FileSystemWatcher. Tetapkan atribut Pathnya kepada direktori atau fail untuk dipantau.
  2. Konfigurasikan penapis pemantauan: Gunakan sifat NotifyFilter untuk menentukan jenis perubahan untuk dikesan. Pilihan biasa termasuk LastAccess, LastWrite, FileName dan DirectoryName.
  3. Tapis jenis fail (pilihan): Hadkan operasi pemantauan kepada jenis fail tertentu dengan menetapkan sifat Penapis. Contohnya, untuk memantau fail teks sahaja, tetapkan Penapis kepada "*.txt".
  4. Tambah pengendali acara: Daftar pengendali acara untuk menerima pemberitahuan apabila perubahan fail berlaku. Acara biasa termasuk Diubah, Dibuat, Dipadam dan Diubah Nama.
<code class="language-csharp">private static void OnChanged(object source, FileSystemEventArgs e)
{
    // 当文件更改、创建或删除时,实现所需的动作。
    Console.WriteLine($"文件: {e.FullPath} {e.ChangeType}");
}

private static void OnRenamed(object source, RenamedEventArgs e)
{
    // 定义在文件重命名时要执行的动作。
    Console.WriteLine($"文件: {e.OldFullPath} 重命名为 {e.FullPath}");
}</code>
  1. Mulakan pemantauan: Tetapkan sifat EnableRaisingEvents kepada benar untuk memulakan pemantauan. Apabila ciri ini didayakan, sebarang perubahan dalam folder atau fail yang ditentukan akan mencetuskan pengendali acara yang sepadan.

Kod sampel:

Coretan kod berikut menunjukkan cara menggunakan FileSystemWatcher untuk memantau fail teks dalam direktori tertentu:

<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 += OnChanged;
    watcher.Deleted += OnChanged;
    watcher.Renamed += OnRenamed;

    // 开始监控。
    watcher.EnableRaisingEvents = true;
}</code>

Dengan melaksanakan mekanisme ini, aplikasi C# boleh menjejak dan bertindak balas terhadap pengubahsuaian fail pada cakera dengan berkesan, membolehkan penyegerakan data masa nyata, kawalan versi dan operasi kritikal yang lain.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memantau Perubahan Fail dalam C# Menggunakan FileSystemWatcher?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn