📜  Java中的 Reader close() 方法和示例(1)

📅  最后修改于: 2023-12-03 15:01:56.598000             🧑  作者: Mango

Java中的 Reader close() 方法和示例

介绍

在 Java 中,Reader 是一个抽象类,用于读取字符流。它是一个抽象类,不能直接实例化,因此需要使用其子类来实现具体的功能。

Reader 类中的 close() 方法用于关闭当前 Reader 流,当读取完数据后,应该调用该方法释放资源。在调用close() 方法后,Reader 流将不再有效。

语法

close() 方法的语法如下:

public void close() throws IOException
参数

close() 方法没有参数。

返回值

close() 方法没有返回值。如果成功关闭了 Reader 流,则不会抛出异常。如果关闭失败,则会抛出 IOException 异常。

示例

下面是一个使用 FileReader 读取文件内容并关闭流的示例:

import java.io.*;

public class Main {
    public static void main(String[] args) {
        String fileName = "example.txt";
        try {
            FileReader reader = new FileReader(fileName);
            int data;
            while ((data = reader.read()) != -1) {
                System.out.print((char) data);
            }
            reader.close(); //关闭流
        } catch (IOException e) {
            System.out.println("读取文件出错:" + e.getMessage());
        }
    }
}

上述代码中,调用了 FileReader 的 read() 方法读取了文件中的数据,并在读取完毕后调用了 close() 方法关闭了流。

同时,close() 方法还可以使用 try-with-resources 语句来自动关闭 Reader 流。下面是一个示例:

try (Reader reader = new FileReader(fileName)) {
    int data;
    while ((data = reader.read()) != -1) {
        System.out.print((char) data);
    }
} catch (IOException e) {
    System.out.println("读取文件出错:" + e.getMessage());
}

示例代码中使用了 try-with-resources 语句,在 try 块中创建了 FileReader 的实例,并在 try 块结束后自动关闭流。

总的来说,使用 close() 方法可以保证在读取完数据后,及时释放流所占用的资源,避免对系统资源的浪费。同时,使用 try-with-resources 语句可以更加方便地管理流资源。