- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- java.io.BufferedOutputStream
-
- All Implemented Interfaces:
-
Closeable,Flushable,AutoCloseable
public class BufferedOutputStream extends FilterOutputStream
该类实现缓冲输出流。 通过设置这样的输出流,应用程序可以向底层输出流写入字节,而不必为写入的每个字节导致底层系统的调用。- 从以下版本开始:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field 描述 protected byte[]buf存储数据的内部缓冲区。protected intcount缓冲区中有效字节的数量。-
Fields inherited from class java.io.FilterOutputStream
out
-
-
构造方法摘要
构造方法 Constructor 描述 BufferedOutputStream(OutputStream out)创建一个新的缓冲输出流,以将数据写入指定的底层输出流。BufferedOutputStream(OutputStream out, int size)创建一个新的缓冲输出流,以便以指定的缓冲区大小将数据写入指定的底层输出流。
-
-
-
构造方法详细信息
-
BufferedOutputStream
public BufferedOutputStream(OutputStream out)
创建一个新的缓冲输出流,以将数据写入指定的底层输出流。- 参数
-
out- 底层输出流。
-
BufferedOutputStream
public BufferedOutputStream(OutputStream out, int size)
创建一个新的缓冲输出流,以便以指定的缓冲区大小将数据写入指定的底层输出流。- 参数
-
out- 底层输出流。 -
size- 缓冲区大小。 - 异常
-
IllegalArgumentException- 如果大小<= 0。
-
-
方法详细信息
-
write
public void write(int b) throws IOException将指定的字节写入缓冲的输出流。- 重写:
-
write在FilterOutputStream - 参数
-
b- 要写入的字节。 - 异常
-
IOException- 如果发生I / O错误。
-
write
public void write(byte[] b, int off, int len) throws IOException从指定的字节数组写入len个字节,从偏移off开始,输出到缓冲的输出流。通常,该方法将给定数组的字节存储到此流的缓冲区中,根据需要将缓冲区刷新到底层输出流。 然而,如果请求的长度至少与此流的缓冲区一样大,那么这个方法将刷新缓冲区并将字节直接写入底层的输出流。 因此,冗余
BufferedOutputStream不会不必要地复制数据。- 重写:
-
write在FilterOutputStream - 参数
-
b- 数据。 -
off- 数据中的起始偏移量。 -
len- 要写入的字节数。 - 异常
-
IOException- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.write(int)
-
flush
public void flush() throws IOException刷新缓冲输出流。 这将强制任何缓冲输出字节写入底层输出流。- Specified by:
-
flush在接口Flushable - 重写:
-
flush在FilterOutputStream - 异常
-
IOException- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.out
-
-