java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.io.BufferedOutputStream
- 所有已实现的接口:
-
Closeable
,Flushable
,AutoCloseable
该类实现了一个缓冲输出流。通过设置这样的输出流,应用程序可以将字节写入底层输出流,而不一定导致每写入一个字节就调用底层系统。
- 自 JDK 版本:
- 1.0
-
Field Summary
Fields declared in class java.io.FilterOutputStream
out
-
Constructor Summary
ConstructorDescription创建一个新的缓冲输出流,用于向指定的底层输出流写入数据。BufferedOutputStream
(OutputStream out, int size) 创建一个新的缓冲输出流,用于向指定的底层输出流以及指定的缓冲区大小写入数据。 -
Method Summary
Methods declared in class java.io.FilterOutputStream
close, write
Methods declared in class java.io.OutputStream
nullOutputStream
-
Field Details
-
buf
protected byte[] buf存储数据的内部缓冲区。 -
count
protected int count缓冲区中有效字节数。该值始终在范围0
到buf.length
之间;元素buf[0]
到buf[count-1]
包含有效的字节数据。
-
-
Constructor Details
-
BufferedOutputStream
创建一个新的缓冲输出流,用于向指定的底层输出流写入数据。- 参数:
-
out
- 底层输出流。
-
BufferedOutputStream
创建一个新的缓冲输出流,用于向指定的底层输出流以及指定的缓冲区大小写入数据。- 参数:
-
out
- 底层输出流。 -
size
- 缓冲区大小。 - 抛出:
-
IllegalArgumentException
- 如果 size <= 0。
-
-
Method Details
-
write
将指定的字节写入此缓冲输出流。- 覆盖:
-
write
在类FilterOutputStream
中 - 参数:
-
b
- 要写入的字节。 - 抛出:
-
IOException
- 如果发生 I/O 错误。
-
write
从指定的字节数组中的偏移量off
处开始写入len
字节到此缓冲输出流。通常,此方法将字节数组中的字节存储到此流的缓冲区中,并根据需要将缓冲区刷新到底层输出流。但是,如果请求的长度至少与此流的缓冲区一样大,则此方法将刷新缓冲区并直接将字节写入底层输出流。因此,多余的
BufferedOutputStream
不会不必要地复制数据。- 覆盖:
-
write
在类FilterOutputStream
中 - 参数:
-
b
- 数据。 -
off
- 数据的起始偏移量。 -
len
- 要写入的字节数。 - 抛出:
-
IOException
- 如果发生 I/O 错误。 -
IndexOutOfBoundsException
- 如果off
为负数,len
为负数,或者len
大于b.length - off
- 参见:
-
flush
刷新此缓冲输出流。这将强制将任何缓冲的输出字节写入底层输出流。- 指定者:
-
flush
在接口Flushable
中 - 覆盖:
-
flush
在类FilterOutputStream
中 - 抛出:
-
IOException
- 如果发生 I/O 错误。 - 参见:
-