Question

J'ai un bouton que je veux désactiver aussi longtemps qu'il n'y a pas un nombre spécifique de fichiers dans un répertoire. Y at-il une sorte d'auditeur qui me notifie au moment où un fichier est créé ou supprimé dans un répertoire?

Était-ce utile?

La solution

Il n'y a pas de support natif actuel en Java pour les événements du système de fichiers et le suivi. JNotify est une bibliothèque utile pour ce faire. Vous devez le configurer pour surveiller le répertoire des modifications, puis vous déterminer ce qui a été ajouté / supprimé.

Java 7 aura le soutien d'événements système de fichiers construit en elle .

Autres conseils

Une chose que vous voudrez peut-être envisager - Si vous écoutez des événements de création, alors vous aurez envie de vous assurer que le fichier est complètement écrit avant de commencer à le lire. Je ne suis pas sûr de ce type de support Java 7 offrira à ce problème.

J'ai mis en place des mécanismes comme celui-ci dans le passé et ce problème particulier exigent un traitement spécial. Si vous contrôlez à la fois le lecteur de fichiers et écrivain, alors vous pouvez contourner ce avec les conventions de nommage, etc. (les noms d'auteur le fichier xxx.prt et renomme le fichier quand il est fait en cours d'écriture). Comme je ne dispose pas de contrôle de l'écrivain que je devais ajouter un autre mécanisme d'interrogation pour vérifier la taille du fichier sur un intervalle pour vous assurer que chaque nouveau fichier était effectivement prêt à être lu. Pas une solution parfaite, mais était suffisante pour mon cas.

Mes deux cents ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top