Sobes.tech
Junior — Middle
67

Объясните механизм автоматического закрытия ресурсов в конструкции Try With Resources в Java.

Answer from AI

sobes.tech AI

Конструкция try-with-resources в Java позволяет автоматически закрывать ресурсы, которые реализуют интерфейс AutoCloseable (например, потоки, соединения с базой данных и т.п.).

Как это работает:

  • Ресурсы объявляются в скобках после ключевого слова try.
  • После выполнения блока try (даже если возникло исключение) автоматически вызывается метод close() у каждого ресурса.
  • Это избавляет от необходимости явно писать блок finally для закрытия ресурсов.

Пример:

try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
    String line = br.readLine();
    System.out.println(line);
} catch (IOException e) {
    e.printStackTrace();
}

В этом примере BufferedReader будет автоматически закрыт после завершения блока try, даже если возникнет исключение.