Identifier les fichiers en cours d'écriture par un process ext
Bonjour les gens,
j'ai un petit pépin là, pas grand chose.
Un de mes clients me demande de concevoir un mode "daemon" pour mon appli, c'est a dire qu'elle puisse etre lancée et traiter automatiquement tout fichier arrivant dans un répertoire source.
JMX et un thread, et dans l'ensemble ca va bien, MAIS...
Le probleme est la : il ne faut pas traiter les fichiers en cours d'écriture par un process externe, qui peut etre par exemple une copie ou un déplacement système de fichiers.
De ce que j'en comprends, File.canRead et File.canWrite s'appuient sur les droits systèmes, pas sur le status du fichier, et nio et les FileLocks ne s'appliquent en fin de compte qu'au sein de la meme JVM (au mieux).
D'expérience, comment traiteriez vous ce problème ?
Merci d'avance
Même problème pour moi :(
sinmaniphel: Est-ce que tu as trouvé une solution car je me retrouve dans le même problème (un fichier volumineux est uploadé par FTP et je ne dois le traiter que lorsqu'il est complètement écrit).
Le truc c'est qu'un fichier en cours d'écriture ne peut pas être delete.
Mais faire le traitement seulement si "file.delete() == true" pose un petit problème ethnique :mouarf:
Si seulement il y avait une méthode file.canDelete() !!!