IO流--buffer
示例展示:
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相关推荐
- day04--java高级编程:API:Object、String,Buffer、包装类、日期、java比较器、BigInteger、进制、length区别,IO流,路径,序列化id,编码
1 API 1.1 Api文档下载 1.API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口,一切可以调用的东西都是API. ...
- Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream
Java IO流学习总结三:缓冲流-BufferedInputStream.BufferedOutputStream 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/ ...
- 基于java的IO流的文件读取系统
IO流读写 基本功能: 新建文件 查看列表 写文件 删除文件 查看文件 导入的包: import java.io.BufferedInputStream; import java.io.Buffere ...
- Java基础篇:IO流
文章目录 一.File类的使用 File类的概述 File类的实例化 File类的常用方法 二.IO流原理及流的分类 Java IO原理 流的分类 流的体系结构 输入.输出的标准化过程 三.节点流(文 ...
- netty io.netty.buffer简介
2019独角兽企业重金招聘Python工程师标准>>> io.netty.util.ReferenceCounted 此接口代表一个引用计数的对象,此对象需要显示的释放. 当一个Re ...
- Java基础—IO流
第一讲 IO概述 1. 流的概念 IO流即InputOutput的缩写,在Java中IO流用来处理设备之间的数据传输,Java对数据的操作是通过IO流的方式, 我们可以把IO流抽象的当作一根管道, ...
- 08 - JavaSE之IO流
IO流 JAVA流式输入输出原理:可以想象成一根管道怼到文件上,另一端是我们程序,然后流的输入输出都是按照程序本身作为第一人称说明的.比如 input,对于我们程序来说就是有数据输入我们程序,outp ...
- java后台图片的上传预览接口 IO流
上传图片接口 图片保存到服务器(适用于任何文件) /** * 上传医生照片 * @param request * @return * @throws Exception * @throws IO ...
- IO流之过滤流介绍:
过滤流: IO流按功能分类可以分为节点流和过滤流,节点流是用来直接操作目标设备的流,比如我们前面介绍的FileReader.FileWriter.FileInputStream.FileOutputS ...
最新文章
- Linux网络编程之广播
- 算法:三种简单排序算法
- TWebBrowser 与 MSHTML(2): 获取 window 对象的时机
- 微服务架构 — 服务治理 — 服务限流、服务降级、服务熔断
- 丢失日志文件的风险与对策
- Python速忆笔记(更新中)
- opencv AKAZE 局部特征匹配算法
- 小程序 java在线考试系统python自动阅卷系统php自动组卷系统
- 前端组件库大合集-必备收藏
- 2020-10-22
- 微信小程序报 47001 - data format error hint
- PJSIP添加G729编码
- 腾讯云服务器利用镜像部署WordPress个人网站
- 华东师范大学计算机专硕学硕,学硕?专硕?该怎么选择
- SPOJ ACPC13——Increasing Shortest Path
- 微信小游戏实现语音识别(超详细)
- Android UnitTest
- msysgit的使用教程
- 牛客网 - [牛客OI周赛7-普及组]救救兔子(二分)
- Ubuntu20.04用gparted软件给/目录 or /home目录扩容 or 压缩
热门文章
- office教程:教你Excel 怎么样使用信息函数
- Java网络编程从入门到精通(5):使用InetAddress类的getHostName方法获得域名
- 算法题:判断字符串是否为 ipv4 地址
- PropertyGrid控件 分类(Category)及属性(Property)排序
- 一个从源代码里提取中文字符串的java类
- SQL SERVER2014 安装 Error code 0x858C001B.
- Getting Started with the Table Component
- MessageQueue Message Looper Handler的解释说明
- 关于 SAP 访问关键字的说明
- vscode中安装webpack_VSCode下手动构建webpack项目(示例代码)