📅  最后修改于: 2023-12-03 14:42:47.432000             🧑  作者: Mango
在Java程序开发中,需要读写文件的时候,我们通常会使用FileInputStream类和FileOutputStream类。FileInputStream类可以用来打开一个文件以便读取数据,FileOutputStream类则可以用来打开一个文件以便写入数据。这两个类是Java I/O类库中很重要的类,因为大多数I/O操作都依赖于这两个类。在这篇文章中,我们将重点介绍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块中关闭流。这样,即使程序在读取文件的过程中发生异常,也能够释放相关的系统资源。