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

¿Fue útil?

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
scroll top