Pergunta

Eu estou trabalhando em um projeto onde eu estou usando RandomAccessFile. O maior problema que estou tendo é que mesmo que eu feche o arquivo depois que ele está sendo acessado o arquivo não fecha até que todo o aplicativo sai. É este o comportamento padrão ou alguém tem alguma idéia do que está acontecendo? O código basicamente se parece com:

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

Ambas as seções onde eu estou usando um RandomAccessFile são como este (ou seja, estou 100% de certeza que eu estou chamando atento sobre os arquivos.)

Foi útil?

Solução

Você quer ter certeza de que o seu próximo está dentro de um bloco finally como este

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

Caso contrário, uma exceção pode causar close () nunca deve ser executada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top