缓冲流的原理和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(); }
标签:输出,字节,--,缓冲,FileOutputStream,BufferedOutputStream,缓冲区 来源: https://www.cnblogs.com/yuzong/p/16460367.html