Salut,
Je développe un hot folder, c'est à dire une petite application qui surveille l'arrivée de certains fichiers dans un répertoire donné.
Cette surveillance est aisée, j'utilise filesystemwatcher et je branche vers une méthode lorsqu'un fichier est créé dans le répertoire en question. Le problème est que je ne peux pas vérifier si le fichier est "verouillé" ou non.
Par exemple, un fichier est transféré via FTP et est assez gros. Dès qu'il sera créé (mais pas encore libéré par le process qui l'écrit), l'évènement "created" de filesystemwatcher va se déclencer. Si à ce moment là, j'associe une action qui nécessite la manipulation de ce fameux fichier, ça va planter puisque le fichier est toujours en train d'être copié.
Donc, y a-t-il moyen de vérifier si le fichier est verrouillé ou pas. Sous Linux/Unix par exemple, il y a la commande "fuser". Y a-t-il une propriété ou méthode correspondante dans le framework?
PS: je préfèrerais éviter les solutions "sales" du genre "essaye d'ouvrir le fichier et si il y a une exception c'est qu'il est toujours verrouillé..."
Merci d'avance pour votre aide qui je le sais sera précieuse![]()
Partager