Cómo evitar que el archivo que se cambie al leer y procesar con Java?
-
13-09-2019 - |
Pregunta
que había necesidad de leer y procesar archivos algo grande con Java y me gustaría saber si hay alguna manera sensata para proteger el archivo que no se sobrescribe con otros procesos mientras estoy leyendo y procesarla?
Esto es, de alguna manera para que sea de sólo lectura, que sea "abierta" o algo ...
Esto se haría en el entorno Windows.
br, Touko
Solución
FileLock :
FileChannel channel = new RandomAccessFile("C:\\foo", "rw").getChannel();
// Try acquiring the lock without blocking. This method returns
// null or throws an exception if the file is already locked.
FileLock lock = channel.tryLock();
// ...
// release it
lock.release();
, para simplificar, he omitido un intento enclosng / finally, pero usted no debe en su código de producción
Otros consejos
Trabajar bien la mayoría, tiene algunos problemas: como el bloqueo no parece ser totalmente absoluta .
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow