BufferedInputStream-BufferedOutputStream

BufferedInputStream-BufferedOutputStream

  • 字节缓冲输入输出流是粗管道

测试BufferedInputStream读速度:

package testIO;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

public class Demo1 {
    public static void main(String[] args) {
        try {

            long startTime=System.currentTimeMillis();//开始时间

            //1.铺设管道
            InputStream file=new FileInputStream("E:\\2021.txt");
            BufferedInputStream f=new BufferedInputStream(file);
            //2.开水龙头--先创建一辆小车
            byte[] car=new byte[1024];
            int len=0;
            while((len=f.read(car))!=-1){
                System.out.println(len);
            }
            //3.关流
            f.close();

            long endTime=System.currentTimeMillis();//结束时间
            System.out.println("共耗时"+(endTime-startTime)+"毫秒");



        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

测试BufferedOutputStream写速度:

package testIO;

import java.io.*;

public class Demo1 {
    public static void main(String[] args) {
        try {

            long startTime=System.currentTimeMillis();//开始时间

            //1.铺设管道
            InputStream file=new FileInputStream("E:\\1998.txt");
            BufferedInputStream f=new BufferedInputStream(file);

            OutputStream file2=new FileOutputStream("E:\\2021.txt");
            BufferedOutputStream os=new BufferedOutputStream(file2);

            //2.开水龙头--先创建一辆小车
            byte[] car=new byte[1024];
            int len=0;
            while((len=f.read(car))!=-1){
                os.write(car,0,len);
            }
            //3.关流
            f.close();
            os.close();

            long endTime=System.currentTimeMillis();//结束时间
            System.out.println("共耗时"+(endTime-startTime)+"毫秒");



        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

FileOutputStream 文件输出流 ,无缓冲区,write一次,就往文件里面写一次数据,效率较低。

BufferedOutputStream 缓存输出流, 缓存区默认大小为8192byte,可通过构造函数定义。 write方法将数据写入缓存区中,缓存区满时写入文件。 flush方法将缓存区的数据写入文件。高效。

posted @ 2021-07-15 09:17  卡卡发  阅读(44)  评论(0)    收藏  举报