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?