首页 > 其他 > 详细

BufferedInputSream

时间:2015-11-27 14:45:03      阅读:433      评论:0      收藏:0      [点我收藏+]

一、使用BufferedInputSream的步骤

 

  1. 找到目标文件
  2. 建立数据的输入管道
  3. 建立缓冲输入字节流
  4. 关闭资源

二、BufferedInputSream 出现的目的是为了提高读取文件的效率,但是BufferedInputStream的read的方法每次读取一个字节数据,而FileInputStream每次也是读取一个字节的数据,那么BufferedInputStream效率从何而来?

技术分享

 

BufferedInputStream:是从内存中的缓冲数组读取的。FileInputStream:是从硬盘中直接读取字节的。从内存读取的速度大于从硬盘读取的速度,所以BufferedInputStream效率更快。

三、为什么创建BufferedInputStream的时候需要传递FileInputStream?

BufferedInputStream 本身是不具备读文件的能力,所以需要借助FileInputStream

四、BufferedInputSream.close()

BufferedInputSream.close() 实际上关闭的是FileInputStream()

五、代码分析:

public static void readTest() throws IOException{
        File file=new File("E:\\a.txt");
        FileInputStream fileInputStream =new FileInputStream(file);
        BufferedInputStream bufferedInputStream=new BufferedInputStream(fileInputStream);
        int length=0;
        while((length=bufferedInputStream.read())!=-1){
            System.out.println((char)length);
        }
        
        bufferedInputStream.close();
    }

总之:BufferedInputSream 缓冲输入字节流 缓冲流入字节流的出现主要是为了提高读文件的效率,其实该类内部只不过维护了一个8kb的字节数组。

所以我们也可以使用FileInputStream,自己创建一个数组。

 

BufferedInputSream

原文:http://www.cnblogs.com/lyjs/p/5000310.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!