IO-BufferedOutputStream

本文详细介绍Java中的BufferedOutputStream类,包括其内部结构、构造方法及核心方法如write和flush等。BufferedOutputStream通过缓存机制提高了输出流的效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java.io

类 BufferedOutputStream

java.lang.Object

┗java.io.OutputStream

  ┗java.io.FilterOutputStream

    ┗java.io.BufferedOutputStream

所有已实现的接口:

Closeable, Flushable

 

public class BufferedOutputStream extends FilterOutputStream

该类实现缓冲的输出流。通过设置这种输出流,应用程序就可以将各个字节写入底层输出流中,而不必针对每次字节写入调用底层系统。

 

字段摘要

protected  byte[] buf

          存储数据的内部缓冲区。

protected  int count

          缓冲区中的有效字节数。

 

从类 java.io.FilterOutputStream 继承的字段

out

 

构造方法摘要

BufferedOutputStream(OutputStream out)

          创建一个新的缓冲输出流,以将数据写入指定的底层输出流。

BufferedOutputStream(OutputStream out, int size)

          创建一个新的缓冲输出流,以将具有指定缓冲区大小的数据写入指定的底层输出流。

 

方法摘要

 void flush()

          刷新此缓冲的输出流。

 void write(byte[] b, int off, int len)

          将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此缓冲的输出流。

 void write(int b)

          将指定的字节写入此缓冲的输出流。

 

从类 java.io.FilterOutputStream 继承的方法

close, write

 

从类 java.lang.Object 继承的方法

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

 

字段详细信息

buf

protected byte[] buf存储数据的内部缓冲区。

 

count

protected int count缓冲区中的有效字节数。此值始终处于 0 到 buf.length 范围内;元素 buf[0] 到 buf[count-1] 包含有效的字节数据。

 

构造方法详细信息

 

BufferedOutputStream

public BufferedOutputStream(OutputStream out)

创建一个新的缓冲输出流,以将数据写入指定的底层输出流。

 

参数:

out - 底层输出流。

 

BufferedOutputStream

public BufferedOutputStream(OutputStream out, int size)

创建一个新的缓冲输出流,以将具有指定缓冲区大小的数据写入指定的底层输出流。

 

参数:

out - 底层输出流。

size - 缓冲区的大小。

抛出:

IllegalArgumentException - 如果 size <= 0

 

方法详细信息

 

write

public void write(int b) throws IOException

将指定的字节写入此缓冲的输出流。

 

覆盖:

类 FilterOutputStream 中的 write

参数:

b - 要写入的字节。

抛出:

IOException - 如果发生 I/O 错误。

 

write

public void write(byte[] b,int off, int len) throws IOException

将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此缓冲的输出流。

一般来说,此方法将给定数组的字节存入此流的缓冲区中,根据需要将该缓冲区刷新,并转到底层输出流。但是,如果请求的长度至少与此流的缓冲区大小相同,则此方法将刷新该缓冲区并将各个字节直接写入底层输出流。因此多余的 BufferedOutputStream 将不必复制数据。

 

覆盖:

类 FilterOutputStream 中的 write

参数:

b - 数据。

off - 数据的起始偏移量。

len - 要写入的字节数。

抛出:

IOException - 如果发生 I/O 错误。

 

flush

public void flush() throws IOException

刷新此缓冲的输出流。这迫使所有缓冲的输出字节被写出到底层输出流中。

指定者:

接口 Flushable 中的 flush

覆盖:

类 FilterOutputStream 中的 flush

抛出:

IOException - 如果发生 I/O 错误。

转载于:https://www.cnblogs.com/zzuLiang/p/4681239.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值