Sobes.tech
Назад к вопросам
Junior — Middle
66

Каким образом можно управлять автоматическим закрытием ресурсов в Java без использования try-with-resources?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

Без использования конструкции try-with-resources в Java можно управлять автоматическим закрытием ресурсов с помощью блока try-finally. В блоке try создаётся и используется ресурс, а в блоке finally он закрывается, чтобы гарантировать освобождение ресурсов даже при возникновении исключений.

Пример:

InputStream input = null;
try {
    input = new FileInputStream("file.txt");
    // работа с ресурсом
} catch (IOException e) {
    e.printStackTrace();
} finally {
    if (input != null) {
        try {
            input.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Таким образом, блок finally обеспечивает закрытие ресурса независимо от того, произошло исключение или нет. Этот способ был стандартом до появления try-with-resources в Java 7.