欢迎访问宙启技术站
智能推送

如何使用 Java 中的 FileInputStream 函数读取文件?

发布时间:2023-06-25 23:19:50

Java中的FileInputStream类是一个输入流,用于从文件中读取字节流数据。它继承了InputStream类并且提供了许多操作文件输入的方法。在本文中,我将向您演示如何使用该类从文件读取字节流数据,并提供一些基本的示例程序。

1. 创建FileInputStream对象

要使用FileInputStream读取文件,我们需要首先创建一个FileInputStream对象。在创建FileInputStream对象时,需要指定要读取的文件的路径和文件名。例如:

FileInputStream input = new FileInputStream("D:/example.txt");

这个语句创建了一个FileInputStream对象,用于读取D盘根目录下的example.txt文件。如果文件不存在,将会抛出FileNotFoundException异常。

2. 读取文件数据

一旦我们创建了FileInputStream对象,我们就可以使用它的read()方法来读取文件数据。读取的数据存储在一个缓冲区中并返回。例如:

byte[] buffer = new byte[1024];

int read = input.read(buffer);

在这个例子中,我们创建了一个缓冲区,其大小为1024个字节。然后我们调用了input.read(buffer)方法,该方法从文件中读取最多1024字节的数据,并将数据保存在buffer数组中。read变量保存了实际读取的字节数。

3. 关闭FileInputStream对象

读取完文件后,我们需要关闭FileInputStream对象。关闭输入流可以释放所有的系统资源。例如:

input.close();

4. 完整的示例程序

下面是一个完整的Java程序,演示如何使用FileInputStream读取一个文本文件的内容:

import java.io.*;

public class ReadFileExample {

   public static void main(String[] args) throws IOException {

       

       FileInputStream input = null;

       try {

           input = new FileInputStream("D:/example.txt");

           

           byte[] buffer = new byte[1024];

           int read = input.read(buffer);

           

           while (read != -1) {

               String data = new String(buffer, 0, read);

               System.out.print(data);

               read = input.read(buffer);

           }

       } catch (FileNotFoundException e) {

           e.printStackTrace();

       } finally {

           if (input != null) {

               input.close();

           }

       }

   }

}

在这个示例程序中,我们首先创建了一个FileInputStream对象,在try语句块里读取文件数据,并且在finally语句块中关闭FileInputStream。

总结

通过Java的FileInputStream类继承InputStream类,我们可以读取文件数据。在使用FileInputStream类时,我们需要首先创建一个FileInputStream对象,然后使用它的read()方法读取数据。最后,我们需要记得关闭FileInputStream对象,以防止资源泄漏。