Maison >développement back-end >C++ >Comment puis-je surveiller les modifications de fichiers en C# ?
Surveiller les modifications des fichiers en C#
Problème : Recherche d'un mécanisme pour détecter les modifications de fichiers sur le disque.
Réponse : La classe FileSystemWatcher
fournit une solution fiable.
Instructions :
FileSystemWatcher
La classe surveille les modifications de fichiers dans le répertoire spécifié. Lorsqu'un changement se produit, il déclenche un événement qui peut être traité pour effectuer l'action souhaitée. Le code suivant montre comment utiliser 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>
Dans cet exemple, le moniteur est configuré pour surveiller les modifications apportées aux fichiers texte (*.txt) dans un chemin spécifique. Lorsqu'un fichier dans ce chemin est modifié, créé, supprimé ou renommé, le gestionnaire d'événements correspondant est appelé, vous permettant de prendre des mesures en conséquence, comme enregistrer l'événement ou mettre à jour l'état de votre application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!