Этот вопрос возник, когда я погуглил с тем же сомнением.
Не найдя абсолютного ответа, я провел несколько тестовых тестов.
Я могу подтвердить, что да, простое закрытие писателя снимет блокировки.Вам даже не нужно вручную закрывать поток, который находится под записывающим устройством.
Как я тестировал:
1) Я запускаю код в Eclipse в режиме debug .2) После записи и сброса в файл (перед закрытием) я попытался удалить файл с помощью проводника Windows.Как и ожидалось, это не удалось из-за блокировки.3) Как только я прошел через метод writer.close (), но перед завершением запуска я снова попытался удалить файл.Он удалил его без проблем.
Это ясно говорит мне, что метод close () приведет к снятию блокировок.
ПРИМЕЧАНИЕ. Выше указано только для класса File JDK.Библиотеки, которые расширяют java.io.File, могут вести себя по-разному.Например, если вы используете iSeries IfsJavaFile, у вас будет утечка памяти соединения, если только вы не освободите специфичный для iSeries объект соединения с сервером.