示例展示:

package buffer;import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;/*** 使用缓冲字节流复制文件 (包装流)* BufferedInputStream   BufferedOutputStream* @author superdrew* *     使用缓冲字节流 可以提高读写的效率*     1.认识什么是缓冲流*         InputStream OutputStream   字节流 *         BufferedInputStream  BufferedOutputStream 处理流  包装流* *     2.好处:*         提供了缓冲区,提高了效率,简化操作    *    3.原理:输入流和输出流两段提供了 默认大小是 8192 的缓冲区  占用内存空间*        其实就是一个字节数组      *        具体原理:看图*        减少硬盘的读取次数,效率提高了**        使用缓冲区 如果流不关闭,文件小于8192,复制完没有任何内容*    4.输出缓冲区的刷新*        1.手动刷新  bos.flush();    *        2.自动刷新 满了自动刷新*        3.close时,会自动刷新**    5.关闭高层流的时候,底层的流会自动关闭*/
public class TestBuffered {public static void main(String[] args) throws IOException {//创建 缓冲字节流  输入流/*InputStream in = new FileInputStream("d:/sxt.txt");BufferedInputStream bis = new BufferedInputStream(in);*///创建缓冲字节流 输出流/*OutputStream os = new FileOutputStream("d:/sxt2.txt");BufferedOutputStream bos = new BufferedOutputStream(os);*///合并上面代码:简化BufferedInputStream bis = new BufferedInputStream(new FileInputStream("d:/mp4.rmvb"));//资源路径(相对/绝对)BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("d:/mp42.rmvb"));//资源路径(相对/绝对)//中转站   一个字节(水杯)/*int n =0;n = bis.read();while(n!=-1){bos.write(n);n = bis.read();}*///中转站使用 一个 字节数组  (水桶)byte [] buf = new byte [1024];int n = bis.read(buf);while(n!=-1){bos.write(buf,0,n);//写n = bis.read(buf);//再读
        }//手动刷新输出流的缓冲区//bos.flush();//关闭
        bos.close();bis.close();/*os.close(); //可有可无!in.close();*/}
}

结果展示:就得自己玩了。。

转载于:https://www.cnblogs.com/superdrew/p/8084943.html

IO流--buffer相关推荐

  1. day04--java高级编程:API:Object、String,Buffer、包装类、日期、java比较器、BigInteger、进制、length区别,IO流,路径,序列化id,编码

    1 API 1.1 Api文档下载 1.API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口,一切可以调用的东西都是API. ...

  2. Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream

    Java IO流学习总结三:缓冲流-BufferedInputStream.BufferedOutputStream 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/ ...

  3. 基于java的IO流的文件读取系统

    IO流读写 基本功能: 新建文件 查看列表 写文件 删除文件 查看文件 导入的包: import java.io.BufferedInputStream; import java.io.Buffere ...

  4. Java基础篇:IO流

    文章目录 一.File类的使用 File类的概述 File类的实例化 File类的常用方法 二.IO流原理及流的分类 Java IO原理 流的分类 流的体系结构 输入.输出的标准化过程 三.节点流(文 ...

  5. netty io.netty.buffer简介

    2019独角兽企业重金招聘Python工程师标准>>> io.netty.util.ReferenceCounted 此接口代表一个引用计数的对象,此对象需要显示的释放. 当一个Re ...

  6. Java基础—IO流

    第一讲   IO概述 1. 流的概念 IO流即InputOutput的缩写,在Java中IO流用来处理设备之间的数据传输,Java对数据的操作是通过IO流的方式, 我们可以把IO流抽象的当作一根管道, ...

  7. 08 - JavaSE之IO流

    IO流 JAVA流式输入输出原理:可以想象成一根管道怼到文件上,另一端是我们程序,然后流的输入输出都是按照程序本身作为第一人称说明的.比如 input,对于我们程序来说就是有数据输入我们程序,outp ...

  8. java后台图片的上传预览接口 IO流

    上传图片接口    图片保存到服务器(适用于任何文件) /** * 上传医生照片 * @param request * @return * @throws Exception * @throws IO ...

  9. IO流之过滤流介绍:

    过滤流: IO流按功能分类可以分为节点流和过滤流,节点流是用来直接操作目标设备的流,比如我们前面介绍的FileReader.FileWriter.FileInputStream.FileOutputS ...

最新文章

  1. Linux网络编程之广播
  2. 算法:三种简单排序算法
  3. TWebBrowser 与 MSHTML(2): 获取 window 对象的时机
  4. 微服务架构 — 服务治理 — 服务限流、服务降级、服务熔断
  5. 丢失日志文件的风险与对策
  6. Python速忆笔记(更新中)
  7. opencv AKAZE 局部特征匹配算法
  8. 小程序 java在线考试系统python自动阅卷系统php自动组卷系统
  9. 前端组件库大合集-必备收藏
  10. 2020-10-22
  11. 微信小程序报 47001 - data format error hint
  12. PJSIP添加G729编码
  13. 腾讯云服务器利用镜像部署WordPress个人网站
  14. 华东师范大学计算机专硕学硕,学硕?专硕?该怎么选择
  15. SPOJ ACPC13——Increasing Shortest Path
  16. 微信小游戏实现语音识别(超详细)
  17. Android UnitTest
  18. msysgit的使用教程
  19. 牛客网 - [牛客OI周赛7-普及组]救救兔子(二分)
  20. Ubuntu20.04用gparted软件给/目录 or /home目录扩容 or 压缩

热门文章

  1. office教程:教你Excel 怎么样使用信息函数
  2. Java网络编程从入门到精通(5):使用InetAddress类的getHostName方法获得域名
  3. 算法题:判断字符串是否为 ipv4 地址
  4. PropertyGrid控件 分类(Category)及属性(Property)排序
  5. 一个从源代码里提取中文字符串的java类
  6. SQL SERVER2014 安装 Error code 0x858C001B.
  7. Getting Started with the Table Component
  8. MessageQueue Message Looper Handler的解释说明
  9. 关于 SAP 访问关键字的说明
  10. vscode中安装webpack_VSCode下手动构建webpack项目(示例代码)