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

Java中使用FileInputStream读取文件的方法是什么?

发布时间:2023-06-09 16:09:50

Java中使用FileInputStream读取文件的方法非常简单,只需要几行代码就可以轻松实现。本篇文章将从以下几个方面进行介绍:InputStream与FileInputStream的区别;FileInputStream的构造方法;FileInputStream读取数据的方法;FileInputStream关闭流的方法;示例代码实现;注意事项。

1. InputStream与FileInputStream的区别

InputStream是Java中抽象类,表示所有输入字节流的父类。FileInputStream是InputStream的子类,用于读取文件的字节流。InputStream包括了缓冲区、文件输入流,字节输入流等,所以在使用时需要根据需求进行相应的选择。

2. FileInputStream的构造方法

在使用FileInputStream读取文件时,需要初始化FileInputStream对象。FileInputStream提供了多种构造方法,例如:

① FileInputStream(File file):创建一个具有指定路径名file的文件输入流。

② FileInputStream(String name):创建一个具有指定名称的文件输入流。name是文件的路径名称。

实例化FileInputStream的代码如下:

FileInputStream fis = new FileInputStream("文件名");

3. FileInputStream读取数据的方法

FileInputStream读取数据的主要方法有read()和read(byte[] b)两种。read()方法读取一个字节的数据,read(byte[] b)方法读取b数组长度的数据。两种方法的具体使用方法如下:

① int read():从此输入流中读取一个数据字节。返回为读取字节的下一字节或-1(如果到达文件末尾)。下面是语法:

int i=fis.read();

② int read(byte[] b):从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。返回读入缓冲区的总字节数,如果因为已经到达流末尾而不再有数据可用,则返回 -1。

byte[] b=new byte[fis.available()];//定义一个数组用来存储读取的字节。

fis.read(b);//从文件输入流中读取b数组长度的数据。

4. FileInputStream关闭流的方法

在Java中,为了避免资源浪费与程序异常,IO流必须要关闭。关闭FileInputStream流的方式非常简单,只要调用对象的close()方法即可。实例代码如下:

fis.close();

5. 示例代码实现

下面是一个简单的Java FileInputStream实例,读取一个文本文件并打印出来。

import java.io.*;

public class FileInputStreamDemo {

    public static void main(String args[]){    

        try{    

            FileInputStream fis = new FileInputStream("input.txt");    

            int i = 0;    

            while((i=fis.read())!=-1){    

                System.out.print((char)i);    

            }    

            fis.close();    

        }catch(Exception e){    

            e.printStackTrace();    

        }    

    }    

}    

6. 注意事项

① 需要注意的是,在读取文件时,需要考虑文件存在不存在、文件是否可读等一些异常情况。

② 在Java开发中,IO流的使用非常频繁,需要特别注意在使用完毕后及时关闭,以释放资源。

③ 在使用流操作文件的时候,要确保文件不存在的时候先创建文件。

以上就是Java中使用FileInputStream读取文件的方法及示例代码,希望可以对您有所帮助。