Description du problème:
Lors de la surveillance des modifications du fichier texte à l'aide de la classe FileSystemWatcher, chaque fois qu'il est modifié et enregistré le fichier, l'événement onchangé se déclenchera deux fois.
Exemple de code:
Analyse de la cause:
public void Initialize() { FileSystemWatcher fileWatcher = new FileSystemWatcher(); fileWatcher.Path = "C:\Folder"; fileWatcher.NotifyFilter = NotifyFilters.LastWrite; fileWatcher.Filter = "Version.txt"; fileWatcher.Changed += new FileSystemEventHandler(OnChanged); fileWatcher.EnableRaisingEvents = true; } private void OnChanged(object source, FileSystemEventArgs e) { // ...事件处理逻辑... }
Solution:
Bien que les attributs puissent parfois atténuer ce problème, dans certains cas, ils peuvent avoir besoin d'être filtrés manuellement et de répéter des incidents.
Optimiser la suggestion utilisée par FileSystemwatcher:
Filtrez des événements de répétition basés sur d'autres conditions (tels que la taille ou le contenu du fichier). NotifyFilter
Considérant une bibliothèque de troisième partie qui fournit des fonctions Amélioration de FileSystemwatcher.
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!