IO-BufferedOutputStream
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 错误。