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