Sobes.tech
Back to questions
Junior — Middle
75

Объясните принцип автоматического закрытия ресурсов в Java с помощью конструкции try-with-resources.

Companies where asked
ФГАНУ НИИ

Answer from AI

sobes.tech AI

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

Синтаксис:

try (ResourceType resource = new ResourceType()) {
    // работа с ресурсом
}
// ресурс автоматически закрывается здесь

Принцип работы:

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

Пример:

try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
    String line = reader.readLine();
    System.out.println(line);
} catch (IOException e) {
    e.printStackTrace();
}
// reader.close() вызывается автоматически