📜  Java中的 FileInputStream close() 方法及示例(1)

📅  最后修改于: 2023-12-03 14:42:47.432000             🧑  作者: Mango

Java中的 FileInputStream close() 方法及示例

在Java程序开发中,需要读写文件的时候,我们通常会使用FileInputStream类和FileOutputStream类。FileInputStream类可以用来打开一个文件以便读取数据,FileOutputStream类则可以用来打开一个文件以便写入数据。这两个类是Java I/O类库中很重要的类,因为大多数I/O操作都依赖于这两个类。在这篇文章中,我们将重点介绍FileInputStream的close()方法以及如何使用它来关闭文件。

FileInputStream close() 方法

FileInputStream类中的close()方法用于关闭这个文件输入流并且释放与该流关联的所有系统资源。当程序打开一个文件用于读取数据时,应该通过FileInputStream类创建一个文件输入流对象,读取完毕之后,应该关闭文件输入流。关闭一个文件输入流时,会自动调用系统的free方法来释放与该流相关的所有系统资源,如文件句柄资源等。

示例

下面是一个使用FileInputStream类和close()方法来读取文件并关闭流的示例代码:

import java.io.FileInputStream;
import java.io.IOException;

public class FileInputStreamExample {

    public static void main(String[] args) {

        FileInputStream inputStream = null;

        try {
            inputStream = new FileInputStream("test.txt");

            int data;
            while ((data = inputStream.read()) != -1) {
                System.out.print((char) data);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (inputStream != null) {
                    inputStream.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }

}

这个程序首先创建了一个FileInputStream对象,然后使用一个while循环来逐字节读取文件中的数据并输出。最后,在finally块中,关闭了文件输入流对象。

需要注意的是,在使用try-catch语句块处理异常时,我们应该在finally块中关闭流。这样,即使程序在读取文件的过程中发生异常,也能够释放相关的系统资源。