- 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 int
count
缓冲区中有效字节的数量。-
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
-
-