Maison > développement back-end > C++ > Comment puis-je surveiller les modifications de fichiers en C# à l'aide de FileSystemWatcher ?

Comment puis-je surveiller les modifications de fichiers en C# à l'aide de FileSystemWatcher ?

Patricia Arquette
Libérer: 2025-01-13 09:15:47
original
439 Les gens l'ont consulté

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

Surveiller les modifications de fichiers à l'aide de FileSystemWatcher de C#

Dans une application C#, vous devrez peut-être détecter les modifications de fichiers sur le disque. Cela peut être facilement réalisé grâce à la classe FileSystemWatcher fournie par le .NET Framework.

Utilisez FileSystemWatcher pour implémenter la détection des modifications de fichiers

  1. Créer une instance FileSystemWatcher : Initialisez une instance à l'aide du constructeur FileSystemWatcher. Définissez son attribut Path sur le répertoire ou le fichier à surveiller.
  2. Configurer les filtres de surveillance : Utilisez la propriété NotifyFilter pour spécifier le type de modifications à détecter. Les options courantes incluent LastAccess, LastWrite, FileName et DirectoryName.
  3. Filtrer les types de fichiers (facultatif) : Limitez les opérations de surveillance à des types de fichiers spécifiques en définissant la propriété Filter. Par exemple, pour surveiller uniquement les fichiers texte, définissez Filtre sur « *.txt ».
  4. Ajouter un gestionnaire d'événements : Enregistrez un gestionnaire d'événements pour recevoir des notifications lorsque des modifications de fichiers se produisent. Les événements courants incluent Modifié, Créé, Supprimé et Renommé.
<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>
Copier après la connexion
  1. Démarrer la surveillance : Définissez la propriété EnableRaisingEvents sur true pour démarrer la surveillance. Lorsque cette fonctionnalité est activée, toute modification dans le dossier ou le fichier spécifié déclenchera le gestionnaire d'événements correspondant.

Exemple de code :

L'extrait de code suivant montre comment utiliser FileSystemWatcher pour surveiller les fichiers texte dans un répertoire spécifique :

<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>
Copier après la connexion

En implémentant ce mécanisme, les applications C# peuvent suivre et répondre efficacement aux modifications de fichiers sur le disque, permettant la synchronisation des données en temps réel, le contrôle de version et d'autres opérations critiques.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal