缓冲字节流(处理流)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(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本