Archivo cambiado oyente en Java
Me gustaría recibir una notificación cuando se haya modificado un archivo en el sistema de archivos. No encontré nada más que un hilo que sondea la propiedad del último archivo modificado y claramente esta solución no es óptima.
He escrito un monitor de archivos de registro antes y descubrí que el impacto en el rendimiento del sistema de sondear los atributos de un solo archivo, unas cuantas veces por segundo, es en realidad muy pequeño.
Java 7, como parte de NIO.2, ha agregado la API WatchService
La API WatchService está diseñada para aplicaciones que necesitan recibir notificaciones sobre eventos de cambio de archivos.
Utilizo la API VFS de Apache Commons, aquí hay un ejemplo de cómo monitorear un archivo sin mucho impacto en el rendimiento:
Monitor de archivos predeterminado