缓冲字节流(处理流)BufferedInputStream、BufferedOutputStream

【1】读一个字节写一个字节

 

 【2】利用缓冲数组

 

 【3】利用缓冲区

 

  想要完成上面的效果单纯靠FileInputStream、FileOutputStream是不可以完成的,这个时候就需要功能的加强,

这个加强就需要引入新的流(在FileInputStream、FileOutputStream外面再套一层流):BufferedInputStream、BufferedOutputStream---》处理流

复制代码
package com.msb.io02;

import java.io.*;

/**
 * @author : liu
 * 日期:14:26:59
 * 描述:IntelliJ IDEA
 * 版本:1.0
 */
public class Test06 {
    //这是一个main方法:是程序的入口
    public static void main(String[] args) throws IOException {
        //1.有一个源文件
        File file = new File("D:\\lol.jpg");
        //2.有一个目标文件
        File file2 = new File("D:\\lol2.jpg");
        //3.有一个输入的管道怼到源文件上面
        FileInputStream fis=new FileInputStream(file);
        //4.有一个输出的管道怼到目标件上面
        FileOutputStream fos = new FileOutputStream(file2);
        //5.功能加强,在FileInputStream外面套一个管:BufferedInputStream
        BufferedInputStream bis=new BufferedInputStream(fis);
        //6.功能加强,在FileOutputStream外面套一个管:BufferedOutputStream
        BufferedOutputStream bos=new BufferedOutputStream(fos);
        //7.开始动作
        byte[] b=new byte[1024*6];
        int len = bis.read(b);
        while (len!=-1){
            bos.write(b,0,len);
            /*bos.flush();底层已经帮我们做了刷新缓冲区的操作,不用我们手动完成:底层调用flushBuffer()*/
            len = bis.read(b);
        }
        //8.关闭流
        //倒着关,如果处理流包裹着节点流的话,那么其实只要关闭高级流(处理流),那么里面的字节流也会随之被关闭
        bos.close();
        bis.close();

    }
}
复制代码

 

posted @   爱的加勒比  阅读(54)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示