try-with-resources

try-with-resources - это конструкция языка Java, которая позволяет автоматически закрывать ресурсы, открытые в блоке try, после завершения выполнения этого блока. Это особенно удобно при работе с ресурсами, такими как файлы, сетевые соединения и базы данных, где важно корректно закрыть ресурс после использования для избежания утечек и сохранения ресурсов.

try (ресурс1; ресурс2; ...) {
    // Код, использующий ресурсы
} catch (Исключение типа1 исключение1) {
    // Обработка исключения типа1
} catch (Исключение типа2 исключение2) {
    // Обработка исключения типа2
} finally {
    // Блок finally (необязательный)
}

Здесь ресурс1, ресурс2, и т.д. - это ресурсы, которые должны быть автоматически закрыты после завершения блока try. Эти ресурсы должны реализовывать интерфейс AutoCloseable или его подинтерфейс Closeable.

Пример использования try-with-resources для чтения данных из файла и автоматического закрытия файла после чтения:

import java.io.*;

public class Main {
    public static void main(String[] args) {
        try (BufferedReader reader = new BufferedReader(new FileReader("input.txt"))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

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

Last updated

Was this helpful?