Вам нужно каждый раз вызывать метод close, но не волнуйтесь. Из Java SE 7 вы можете использовать try-with-resources
. Согласно документу Java-Oracle,
Оператор try-with-resources является оператором try, который объявляет
или больше ресурсов. Ресурс - это объект, который должен быть закрыт после
программа закончена с этим. Заявление "попробуй с ресурсами"
гарантирует, что каждый ресурс закрыт в конце оператора. любой
объект, который реализует java.lang.AutoCloseable, который включает в себя все
объекты, которые реализуют java.io.Closeable, могут использоваться в качестве ресурса.
Пожалуйста, посмотрите на пример.
static String readFirstLineFromFile(String path) throws IOException {
try (BufferedReader br =
new BufferedReader(new FileReader(path))) {
return br.readLine();
}
}
В этом примере ресурс, объявленный в операторе try-with-resources, является BufferedReader. Оператор объявления появляется в скобках сразу после ключевого слова try. Класс BufferedReader в Java SE 7 и более поздних версиях реализует интерфейс java.lang.AutoCloseable. Поскольку экземпляр BufferedReader объявлен в операторе try-with-resource, он будет закрыт независимо от того, завершается ли оператор try нормально или внезапно (в результате метода BufferedReader.readLine, генерирующего исключение IOException).
Для получения более подробной информации, пожалуйста, ознакомьтесь с документом Oracle-Java для try-with-resources
.
https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html