El bloque try-with-resources en Java permite manejar recursos automáticamente, asegurando que se cierren correctamente sin necesidad de una cláusula finally. Es especialmente útil para trabajar con archivos, sockets y conexiones a bases de datos, evitando fugas de recursos.
try-with-resources es una estructura introducida en Java 7 que facilita la gestión de recursos como flujos de entrada/salida (InputStream, OutputStream), lectores/escritores (Reader, Writer), y conexiones JDBC. Al declarar un recurso dentro de los paréntesis del try, este se cierra automáticamente al finalizar el bloque, incluso si ocurre una excepción.
try (Recurso recurso = new Recurso()) {
// Código que usa el recurso
} catch (Exception e) {
// Manejo de excepciones
}
Para que un objeto sea utilizado en try-with-resources, debe implementar la interfaz AutoCloseable o Closeable.
FileReader
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class TryWithResourcesExample {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader("archivo.txt"))) {
String linea;
while ((linea = br.readLine()) != null) {
System.out.println(linea);
}
} catch (IOException e) {
System.out.println("Error al leer el archivo: " + e.getMessage());
}
}
}
En este ejemplo, BufferedReader se cierra automáticamente al salir del bloque try, incluso si ocurre una excepción.
finally.
catch.
Puedes consultar la documentación oficial de Java en:
Jorge García
Fullstack developer