缓冲流的原理和BufferedOutputStream字节缓冲输出流
缓冲流的原理

BufferedOutputStream字节缓冲输出流
package com.yang.Test.BufferedStudy;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* java.io.BufferedOutputStream extends OutputStream
* BufferedOutputStream:字节缓冲输出流
* 继承自父类的共性成员方法:
* public void close();关闭此输出流并释放与此流相关联的任何系统资源。
* public void flush();刷新此输出流并强制任何缓冲的输出字节被写出。
* public void write(byte[] b);将b.length字节从指定的字节数组写入此输出流。
* public void write(byte[] b , int off , int len);从指定的字节数组写入 len字节 从偏移量off开始输出到此输出流.
* public abstract void write(int b);将指定的字节输出流
*
* 构造方法:
* BufferedOutputStream(OutputStream out) 创建一个新的缓冲输出流,以将数据写入指定的底层输出流。
* BufferedOutputStream(OutputStream out,int size) 创建一个新的缓冲输出流,以将具有指定缓冲区大小的数据写入指定的底层输出流
* 参数:
* OutputStream out:字节输出流
* 我们可以传递FileOutputStream,缓冲流会给FileOutputStream增加一个缓冲区,提高FileOutputStream的写入效率
* int size:指定缓冲流内部缓冲区的大小,不指定默认
*
* 使用步骤:
* 1.创建一个FileOutputStream对象,构造方法中传递要输出的目的地
* 2.创建一个BufferedOutputStream对象,构造方法中传递FileOutputStream对象,提高FileoutputStream的效率
* 3.使用BufferedOutputStream对象中的方法write,吧数据写入到内部缓冲区中
* 4.使用BufferedOutputStream对象中的方法flush,把内部缓冲区中的数据刷新到文件中
* 5.释放资源(会先调用flush方法刷新数据,第四步可以省略)
*/
public class BufferedOutputStreamStudy01 {
public static void main(String[] args) throws IOException {
/**
* //1.创建一个FileOutputStream对象,构造方法中传递要输出的目的地
* FileOutputStream fos = new FileOutputStream("Document\\1.txt");
* //2.创建一个BufferedOutputStream对象,构造方法中传递FileOutputStream对象,提高FileoutputStream的效率
* BufferedOutputStream bos = new BufferedOutputStream(fos);
*/
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("Document\\1.txt"));
//3.使用BufferedOutputStream对象中的方法write,吧数据写入到内部缓冲区中
bos.write("我把数据写入到内存缓冲区中".getBytes());
//5.释放资源(会先调用flush方法刷新数据,第四步可以省略)
bos.close();
}
}
缓冲流的原理和BufferedOutputStream字节缓冲输出流的更多相关文章
- 内置了一个缓冲区(数组)缓冲流BufferInputStream为何要配合字节数组的使用?
内置了一个缓冲区(数组)缓冲流BufferInputStream为何要配合字节数组的使用? 只为效率而积累[积少成多送一趟比送多趟快] 举例子:超市买30个鸡蛋回家煮 (1)读一个送一个(效率太低啦) ...
- java 输入输出IO流 字节流| 字符流 的缓冲流:BufferedInputStream;BufferedOutputStream;BufferedReader(Reader in);BufferedWriter(Writer out)
什么是缓冲流: 缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率. 图解: 1.字节缓冲流BufferedInputStr ...
- 转换流的原理和OutputStreamWriter介绍&代码实现
转换流的原理 OutputStreamWriter介绍&代码实现 package com.yang.Test.ReverseStream; import java.io.FileNotFoun ...
- Java之缓冲流(字节/字符缓冲流)
概述 缓冲流,也叫高效流,是对4个基本的 FileXxx 流的增强,所以也是4个流,按照数据类型分类: 字节缓冲流: BufferedInputStream , BufferedOutputStrea ...
- java_缓冲流(字节输出流)
缓冲流分为: 字节缓冲流:BufferedIntputSream(字节缓冲输出流),BufferdOutputStream(字节缓冲输入流) 字符缓冲流:BufferedReader(字符输入缓冲流) ...
- java的 IO流之缓冲流(转载)
java缓冲流本身不具IO功能,只是在别的流上加上缓冲提高效率,像是为别的流装上一种包装.当对文件或其他目标频繁读写或操作效率低,效能差.这时使用缓冲流能够更高效的读写信息.因为缓冲流先将数据缓存起来 ...
- 10缓冲流、转换流、序列化流、Files
十.流 10.1 缓冲流 10.1.1 概述 缓冲流是对4个基本的FileXxx流的增强,所以也是4个流,按照数据类型进行分类 ...
- Java 之 缓冲流
一.缓冲流概述 缓冲流,也叫高效流,是对四个 FileXXX 流的增强,所有也有四个流,按照类型分类: 字节缓冲流:BufferedInputStream,BufferedOutputStream 字 ...
- JavaSE_12_Properties类和缓冲流
1.Properties类 java.util.Properties 继承于Hashtable ,来表示一个持久的属性集.它使用键值结构存储数据,每个键及其对应值都是一个字符串.该类也被许多Java类 ...
随机推荐
- 【面试普通人VS高手系列】说一说Mybatis里面的缓存机制
一个工作了 5年的程序员,在私信里面不断向我诉苦. 他说,他用了Mybatis这么久,怎么滴也算是精通Mybatis了吧. 结果竟然在Mybatis这个面试题上翻车了! 真的好烦! 好吧,我们今天来看 ...
- git 1.2
1.git服务器的搭建 gitlab 常用命令: gitlab-rails console -e production 进入控制台指令 sudo gitlab-ctl start # 启动所有 gi ...
- Golang:手撸一个支持六种级别的日志库
Golang标准日志库提供的日志输出方法有Print.Fatal.Panic等,没有常见的Debug.Info.Error等日志级别,用起来不太顺手.这篇文章就来手撸一个自己的日志库,可以记录不同级别 ...
- HCNP Routing&Switching之链路聚合
前文我们了解了MSTP相关话题,回顾清参考https://www.cnblogs.com/qiuhom-1874/p/16268682.html:今天我们来聊一聊链路聚合相关话题: 链路聚合是链路高可 ...
- 网络:Tor
洋葱路由催生了暗网的产生 1995年,美国海军研究实验室的科学家开始开发一套匿名系统,可以避免人们在互联网上的行迹被追 踪到.由于在该系统中,数据被层层密码保护,这个技术被称为叫作"洋葱路由 ...
- 04 Springboot 格式化LocalDateTime
Springboot 格式化LocalDateTime 我们知道在springboot中有默认的json解析器,Spring Boot 中默认使用的 Json 解析技术框架是 jackson.我们点开 ...
- LowDB采坑记录(主要为lowdb3.0的Cannot find module和lowdb1.0 node不断自启动的问题)
bug1: Error [ERR_ MODULE_ NOT_ FOUND]: Cannot find module 在使用最新版LowDB(3.0)时,发现typescript中直接引用模块名(如以下 ...
- Python使用EasyOCR库对行程码图片进行OCR文字识别介绍与实践
关注「WeiyiGeek」点我,点我 设为「特别关注」,每天带你在B站玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 文章目录 0x00 ...
- HtmlParse:一款超轻量级的HTML文件解析和爬取工具
HtmlParse 是一款基于windwos平台的HTML文档解析工具,可快速构建DOM树,从而轻松实现网页元素的爬取工作.DOM树就是一个HTML文档的节点树,每个节点由:标签(Tag).属性(At ...
- ExtJS 布局-Table布局(Table layout)
更新记录: 2022年6月1日 开始. 2022年6月10日 发布. 1.说明 table布局类似表格,通过指定行列数实现布局. 2.设置布局方法 在父容器中指定 layout: 'table' la ...