缓冲流的原理和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-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南