English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
try-with-resources est dans le JDK 7 dans une nouvelle mécanique de gestion des exceptions, qui permet de fermer facilement les ressources dans le try-les ressources utilisées dans le bloc catch-with-les déclarations resources s'assurent que chaque ressource est fermée à la fin de l'instruction. Tous les objets qui implémentent l'interface java.lang.AutoCloseable (dont font partie tous les objets qui implémentent java.io.Closeable) peuvent être utilisés comme ressources.
try-with-les déclarations resources sont dans le JDK 9 si vous avez déjà une ressource qui est final ou équivalente à une variable final, vous pouvez l'utiliser dans le try-with-dans la déclaration resources, utiliser cette variable sans avoir à la déclarer dans le try-with-dans la déclaration resources, déclarer une nouvelle 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(); } } }
Le résultat de la sortie est :
test
Dans l'exemple ci-dessus, nous devons déclarer la ressource br dans le bloc try1ensuite, on peut l'utiliser.
en Java 9 dans ce cas, nous n'avons pas besoin de déclarer la ressource br1 on peut l'utiliser et obtenir le même résultat.
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(); } } }
The execution output result is:
test
When handling resources that must be closed, use try-with-resources statement instead of try-finally statement. The generated code is more concise, clearer, and the generated exceptions are more useful. try-with-The resources statement makes it easier to write code that must close resources and does not fail, while using try-The finally statement is actually impossible.