MST
星途 面试题库

面试题:Java中try - with - resources的基本用法

请简述Java异常处理中try - with - resources语句的基本语法结构,并举例说明如何使用它来处理需要关闭的资源,比如文件流。
32.5万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试

try - with - resources语句基本语法结构

try (ResourceType resource = new ResourceType()) {
    // 使用资源的代码
} catch (Exception e) {
    // 处理异常的代码
}

在上述语法中,ResourceType 是实现了 AutoCloseable 接口的资源类型,resource 是该资源的实例。在 try 块结束时(正常结束或因异常结束),会自动调用 resourceclose() 方法。

处理文件流示例

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 块结束时,无论是正常结束还是发生 IOExceptionBufferedReader 都会自动关闭,无需手动调用 br.close()