try-with-resources支持从 Java 7 开始的所有后续版本。
只有实现了 AutoCloseable 或 Closeable 接口的资源才能用于 try-with-resources。
可以在括号内声明多个资源,用分号分隔。
如果 try 块中抛出了异常,并且 close() 方法也抛出了异常,那么抛出的异常将是 try 块中的异常,而 close() 方法抛出的异常将被抑制。
try-with-resources语句可以确保资源在操作完成后被自动关闭,无论是否出现异常,从而有助于避免资源泄露。
try-with-resources语句最优雅的用法通常涉及以下几点:
单一职责原则:每个资源只用于一个目的,确保资源的清晰和专注。
自动资源管理:利用 try-with-resources 自动关闭资源,无需手动调用 close() 方法。
简洁性:通过减少冗余代码,使代码更加简洁和易读。
异常处理:合理处理可能发生的异常,保持代码的健壮性。
package org.example.exercise.trycr;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
/**
* TODO
*
* @author .mo
* @version 1.0
* @date 2024/4/10 15:15
*/
public class ExerciseTryWithResources {
public static void main(String[] args) {
String filePath = "G:\\test.txt";
// 使用 try-with-resources 管理资源
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.err.println("读取文件发生异常: " + e.getMessage());
}
}
}
标签:resource,String,try,resources,使用,close,异常,资源
From: https://blog.csdn.net/yizhousai0662/article/details/137598154