缓冲流的原理和BufferedOutputStream--字节缓冲输出流
2022/7/9 23:24:13
本文主要是介绍缓冲流的原理和BufferedOutputStream--字节缓冲输出流,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
缓冲流的原理
缓冲流,也叫高效流,是对4个基本的 Filexxx流的增强,所以也是4个流,按照数据类型分类:·
字节缓冲流: BufferedInputStream , Bufferedoutputstream
字符缓冲流: BufferedReader, Bufferedwriter
缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。
BufferedOutputStream--字节缓冲输出流
/* java.io.BufferedOutputStream extends OutStream BufferedOutputStream :字节缓冲输出流 继承父类的共同成员方法: 方法: close() 关闭此输出流并释放此流有关的所有系统资源 flush() 刷新次输出流并强制写出所有缓冲的输出字节 write() 有3个 将数据写入到硬盘中 write(byte[] b)将b.length个字节从指定的byte数组写入此输出流 write(int b)将指定的字节输出流 写一个字节 write(byte[] b,int off,int len ) 将指定的字节数组写入len个字节,从偏移量off开始输出到此的输出流 构造方法: 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.释放资源(会先刷新数据),第4步可以省略 */ public class DemoBufferedOutStream { public static void main(String[] args) throws IOException { // 1.创建一个FileOutputStream对象,构造方法中绑定要输出的目的地 FileOutputStream fos=new FileOutputStream("E:\\多线程\\aa.txt"); //2.创建BufferedOutputStream对象,构造方法中传递FileOutputStream对象,提高FileOutputStream对象的效率 BufferedOutputStream bos=new BufferedOutputStream(fos); //3.使用BufferedOutputStream对象中的方法write,把数据写入到内部缓冲区 bos.write("我把数据写入到内部缓冲区".getBytes());//getByte()写多个字节 //4.4.使用BufferedOutputStream对象中的方法flush,把内部缓冲区的数据,刷新到文件中 bos.flush(); //5.释放资源(会先刷新数据),第4步可以省略 bos.close(); }
这篇关于缓冲流的原理和BufferedOutputStream--字节缓冲输出流的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?