Salut à tous,
J'ai un gros souci avec le FilesystemWatcher, pouvez-vous m'aider ?
Mon soft scan un répertoire pour faire un traitement sur chaque nouveau fichier créé qu'il déplace dans un répertoire de backup une fois le traitement fini.
Le FileSystemWatcher(FSW) stocke en mémoire tous les fichiers nouvellement créés et appel ma fonction au fur et à mesure.
Disons qu'il stock dans un tableau les nouveaux fichiers {file1, file2, file3, ...}
le FSW appelle ma fonction en lui donnant file1, attends la fin du traitement, appelle ma fonction avec file2....etc.
Le problème, c'est que parfois mon traitement a besoin de 2 fichiers et vas les déplacer en même temps.
Mais si je déplace un fichier présent dans la liste du FSW avant que celui-ci ne me l'ait donné, il plante mon programme à ce moment-là.
Plus concrètement
-> 3 nouveaux fichiers sont crées
-> le FSW stocke le nom des 3 fichiers {file1, file2, file3}
-> le FSW -> ma_fonction( file1 )
-> je traite file1, j'ai besoin de file2, file2 existe donc je fais mon traitement et déplace file1 et file2
-> le FSW plante car il veut me donner file2 mais ce fichier n'existe plus.
Comment faire pour lui dire de passer à file3 si file2 n'existe pas ?
Partager