RandomAccessFiles не закрываются до выхода из приложения
-
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 () никогда не будет выполнена.
Не связан с StackOverflow