English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
try-with-declaración de recursos es JDK 7 introduce un nuevo mecanismo de manejo de excepciones que permite cerrar fácilmente los recursos en el try-catch el bloque de statement de recursos. Se denomina recurso (resource) a cualquier objeto que debe cerrarse una vez finalizado el programa. try-with-la declaración de recursos asegura que cada recurso se cierre al final de la statement. Todos los objetos que implementan la interfaz java.lang.AutoCloseable (que incluye todos los objetos que implementan java.io.Closeable), pueden ser utilizados como recursos.
try-with-declaración de recursos en JDK 9 si ya tiene un recurso que es final o equivalente a una variable final, puede usarlo en el try-with-use la variable en la declaración de recursos statement, sin necesidad de declarar en el try-with-en la declaración de recursos statement, declare una nueva variable.
import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; import java.io.StringReader; public class Tester { public static void main(String[] args) throws IOException { System.out.println(readData("test")); } static String readData(String message) throws IOException { Reader inputString = new StringReader(message); BufferedReader br = new BufferedReader(inputString); try (BufferedReader br1 = br) { return br1.readLine(); } } }
El resultado de salida es:
test
en el ejemplo anterior, necesitamos declarar el recurso br en el bloque try1después de lo cual podemos usarlo.
en Java 9 no necesitamos declarar el recurso br1 puede usarlo y obtener el mismo resultado.
import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; import java.io.StringReader; public class Tester { public static void main(String[] args) throws IOException { System.out.println(readData("test")); } static String readData(String message) throws IOException { Reader inputString = new StringReader(message); BufferedReader br = new BufferedReader(inputString); try (br) { return br.readLine(); } } }
El resultado de la ejecución es:
test
Al manejar recursos que deben cerrarse, usar try-with-La declaración resources reemplaza a try-La declaración finally. El código generado es más conciso, más claro y genera excepciones más útiles.-with-La declaración resources facilita escribir código que debe cerrar recursos, no comete errores y genera excepciones más útiles.-La declaración finally es en realidad imposible.