try-with-resources Java举例
时间: 2023-04-02 20:02:03 浏览: 106
当我们在使用 try-with-resources 语句时,我们可以在 try 后面的括号中声明一个或多个资源,这些资源必须实现了 AutoCloseable 接口。在 try 代码块执行完毕后,这些资源会自动关闭,无需手动关闭。下面是一个 Java 代码示例:
try (FileInputStream fileInputStream = new FileInputStream("file.txt");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream))) {
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
相关问题
java try-with-resources
Java中的try-with-resources是一种用于自动关闭资源的语法结构。它允许我们在try语句块中声明一个或多个资源,这些资源必须实现java.lang.AutoCloseable接口。在代码块结束时,资源会自动关闭,即使发生了异常。try块执行完成后,会自动调用资源的close()方法。这个特性可以让我们更加方便、简单、安全地使用资源,避免了手动关闭资源的繁琐操作,同时也可以避免资源泄漏的问题。
下面是一个使用try-with-resources的例子:
try (InputStream inputStream = new FileInputStream("example.txt"); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
// 处理异常
}
在这个例子中,我们使用了try-with-resources来打开一个文件并读取其中的内容。在try语句块中,我们声明了两个资源:一个FileInputStream和一个BufferedReader。在代码块结束时,这两个资源会自动关闭,即使发生了异常。这样就可以避免手动关闭资源的繁琐操作,同时也可以避免资源泄漏的问题。
try - with - resources
try-with-resources是Java SE 7中引入的一个新特性,它可以自动关闭在try语句中使用的资源。在try-with-resources语句中,资源对象必须实现java.lang.AutoCloseable接口或其子接口java.io.Closeable。当try语句块结束时,无论是正常结束还是异常结束,都会自动调用资源对象的close()方法来关闭资源。这样可以避免资源泄漏和代码冗长的问题。在JDK 9中,try-with-resources语句得到了改进,如果资源是final或等效于final变量,可以直接在try-with-resources语句中使用该变量,而无需在try-with-resources语句中声明一个新变量。