Day10_02目标:字节缓冲输入流的使用

目标:字节缓冲输入流的使用

结构:

字节流字符流
字节输入流字节输出流字符输入流字符输出流
InputStreamOutputStreamReaderWriter(抽象类)
FileInputStreamFileOutputStreamFileReaderFileWriter(实现类,低级流,原始流)
BufferedInputStreamBufferedOutStreamBufferedReaderBufferedWriter(实现类,缓冲流)

字节缓冲输入流:BufferedInputStream

​ – 作用:可以把低级的字节输入流包装成一个高级的缓冲字节输入流管道,
​ 从而提高字节输入流读数据的性能。
​ – 构造器: public BufferedInputStream(InputStream in)

​ – 原理:缓冲字节输入流管道包装了低级的字节输入流管道以后
​ 就自带一个缓冲池,缓冲池是内存的一块区域,一次可以直接提取8KB数据到内存
​ 以后程序直接在内存的缓冲池中读取数据,性能是很快的!

小结:

​ 缓冲字节输入流提高了字节输入流读数据的性能,功能几乎一样

public class BufferedInputStreamDemo01 {
    public static void main(String[] args) throws Exception {
        // 1.定义一个低级的字节输入流管道与源文件接通
        InputStream is = new FileInputStream("src/dlei01.txt");
        // 3.把低级的字节输入流管道包装成一个高级的缓冲字节输入流管道。
        BufferedInputStream bis = new BufferedInputStream(is);

        // 2.定义一个字节数组读取数据输出
        byte[] buffer = new byte[32];
        int len = 0;
        while((len = bis.read(buffer)) != -1){
            System.out.print(new String(buffer,0,len));
        }
    }
}

字节缓冲输出流:BufferedOutputStream

​ – 作用:可以把低级的字节输出流包装成一个高级的缓冲字节输出流,从而提高写数据的性能。
​ – 构造器:public BufferedOutputStream(OutputStream os)
​ – 原理:缓冲字节输出流自带了8KB缓冲池,数据就直接写入到缓冲池中去,性能极高了!

小结:

​ 缓冲字节输出流可以包装低级的字节输出流提高写数据的性能,功能几乎不变。

public class BufferedInputStreamDemo02 {
    public static void main(String[] args) throws Exception {
        // 1.定义一个低级的字节输出流管道与目标文件接通
        OutputStream os = new FileOutputStream("src/dlei02.txt");
        // 3.把低级的字节输出流管道包装成一个高级的缓冲字节输出流管道
        BufferedOutputStream bos = new BufferedOutputStream(os);

        // 2.写数据出去
        bos.write(97);
        bos.write('A');
        bos.write("我爱你中国".getBytes());
        bos.close();

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值