Pregunta

Tengo un botón que quiero desactivar, siempre y cuando no hay un número específico de archivos en un directorio. ¿Hay algún tipo de oyente que me notifica en el momento que se crea o se elimina en un directorio de un archivo?

¿Fue útil?

Solución

No hay soporte nativo actual en Java para eventos y monitoreo del sistema de archivos. JNotify es una biblioteca útil para hacer esto. Usted debe configurarlo para controlar el directorio de modificaciones, y luego determinar a sí mismo lo que se ha añadido / borrado.

Java 7 tendrá soporte de eventos del sistema de archivos construido en él .

Otros consejos

Una cosa que puede que desee considerar - Si está escuchando para eventos de la creación entonces usted querrá asegurarse de que el archivo está escrito completamente antes de empezar a leerlo. No estoy seguro de qué tipo de soporte para Java 7 ofrecerá para este problema.

He implementado mecanismos de este tipo en el pasado y este problema en particular requiere un manejo especial. Si está controlando tanto el lector de archivos y escritor, entonces usted puede conseguir alrededor de esto con las convenciones de nombres, etc (los nombres escritor el archivo xxx.prt y cambia el nombre del archivo cuando se hace siendo escrita). Puesto que yo no tenía el control de la escritora tenía que añadir otro mecanismo de sondeo para comprobar el tamaño del archivo en un intervalo para asegurarse de que cada nuevo archivo fue en realidad listo para ser leído. No es una solución perfecta, pero era suficiente para mi caso.

Mis dos centavos ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top