面试题答案
一键面试try - with - resources语句基本语法结构
try (ResourceType resource = new ResourceType()) {
// 使用资源的代码
} catch (Exception e) {
// 处理异常的代码
}
在上述语法中,ResourceType
是实现了 AutoCloseable
接口的资源类型,resource
是该资源的实例。在 try
块结束时(正常结束或因异常结束),会自动调用 resource
的 close()
方法。
处理文件流示例
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class TryWithResourcesExample {
public static void main(String[] args) {
String filePath = "example.txt";
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个例子中,BufferedReader
实现了 AutoCloseable
接口。在 try
块内,通过 BufferedReader
逐行读取文件内容。当 try
块结束时,无论是正常结束还是发生 IOException
,BufferedReader
都会自动关闭,无需手动调用 br.close()
。