Pregunta

Estoy trabajando en un proyecto donde estoy usando RandomAccessFile. El mayor problema que tengo es que, aunque cierro el archivo después de acceder, el archivo no se cierra hasta que se cierra la aplicación completa. ¿Es este comportamiento estándar o alguien tiene alguna idea de lo que está pasando? El código básicamente se ve así:

RandomAccessFile raf = new RandomAccessFile(f);
//do stuff
raf.close();

Ambas secciones donde estoy usando un RandomAccessFile son así (es decir, estoy 100% seguro de que estoy llamando cerca de los archivos).

¿Fue útil?

Solución

Desea asegurarse de que su cierre esté dentro de un bloque finalmente como este

RandomAccesFile raf = null;
try {
    raf = new RandomAccessFile(f);
    //do stuff
} finally {
   if (raf != null) {
      raf.close();
   }
}

De lo contrario, una excepción puede hacer que close () nunca se ejecute.

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