Pantau perubahan fail dalam C#
Masalah: Mencari mekanisme untuk mengesan pengubahsuaian fail pada cakera.
Jawapan: Kelas FileSystemWatcher
menyediakan penyelesaian yang boleh dipercayai.
Arahan:
FileSystemWatcher
Kelas memantau perubahan fail dalam direktori yang ditentukan. Apabila perubahan berlaku, ia menimbulkan peristiwa yang boleh diproses untuk melaksanakan tindakan yang diingini. Kod berikut menunjukkan cara menggunakan 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>
Dalam contoh ini, monitor dikonfigurasikan untuk memantau perubahan pada fail teks (*.txt) dalam laluan tertentu. Apabila fail dalam laluan itu ditukar, dibuat, dipadamkan atau dinamakan semula, pengendali acara yang sepadan dipanggil, membolehkan anda mengambil tindakan sewajarnya, seperti mengelog acara atau mengemas kini keadaan aplikasi anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memantau Perubahan Fail dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!