RandomAccessFiles не закрываются до выхода из приложения

StackOverflow https://stackoverflow.com/questions/1213374

  •  06-07-2019
  •  | 
  •  

Вопрос

Я работаю над проектом, в котором использую RandomAccessFile. Самая большая проблема, с которой я сталкиваюсь, заключается в том, что, несмотря на то, что я закрываю файл после обращения к нему, файл не закрывается, пока не завершится все приложение. Это стандартное поведение или у кого-то есть представление о том, что происходит? Код в основном выглядит так:

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

Обе секции, где я использую RandomAccessFile, похожи на это (т.е. я на 100% уверен, что я вызываю close для файлов.)

Это было полезно?

Решение

Вы хотите убедиться, что ваше закрытие находится внутри блока finally, как этот

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

В противном случае исключение может привести к тому, что close () никогда не будет выполнена.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top