InputStream之FileInputStream、BufferedInputStream

InputStream:字节输入流
此抽象类是表示字节输入流的所有类的超类。
a.
FileInputStream extends InputStream
FileInputStream:文件字节输入流
作用:把硬盘文件中的数据,读取到内存中使用
构造方法:
FileInputStream(File file)
通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
FileInputStream(String name)
通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。
参数:读取文件的数据源
构造方法的作用:
1.会创建一个FileInputStream对象
2.会把FileInputStream对象指向构造方法中要读取的文件
读取数据原理(硬盘–>内存):
java程序–>JVM–>OS–>OS读取文件的方法–>读取文件
字节输入流的使用步骤(重点):
1.创建FileInputStream,构造方法中绑定要读取的数据源
2.使用FileInputStream对象中的read方法,读取文件
3.释放资源

创建FileInputStream,构造方法中绑定要读取的数据源

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

1).使用FileInputStream对象中的read方法,读取文件

		int len=0;//记录读取到的字节
        while ((len=fis.read())!=-1){
            System.out.print((char) len);//abc
        }

2).字节输入流一次读取多个字节的方法:

    //使用循环遍历
        byte[] bytes=new byte[1024];//存储读取到的多个字节
        int len=0;//记录每次读取的有效字符个数
        while ((len=fis.read(bytes))!=-1){
//            System.out.println(new String(bytes));
            System.out.println(new String(bytes,0,len));
        }

释放资源

 fis.close();

b.
BufferedInputStream extends InputStream
BufferedInputStream:字节缓冲输入流
使用步骤:
1.创建FileOutputStream对象,在构造方法中绑定要读取的数据源
2.创建BufferedOutputStream对象,在构造方法中传递FileOutputStream对象,提高FileOutputStream对象效率
3.使用BufferedOutputStream对象中的方法read,读取文件
4.释放资源

FileInputStream fis=new FileInputStream("a.txt");
        BufferedInputStream bfis=new BufferedInputStream(fis);
//        int len=0;
//        while ((len=bfis.read())!=-1){
//            System.out.println(len);
//        }

        byte[] bytes=new byte[1024];
        int len=0;
        while ((len=bfis.read(bytes))!=-1){
            System.out.println(new String(bytes,0,len));
        }

        bfis.close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值