java.io

接口
异常
错误
java.lang.Object
  继承者 java.io.OutputStream
      继承者 java.io.FilterOutputStream
          继承者 java.io.BufferedOutputStream
所有已实现的接口:
Closeable, Flushable

public class BufferedOutputStream
     
extends FilterOutputStream

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

从以下版本开始:
JDK1.0

字段摘要
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
缓冲区中的有效字节数。此值始终处于 0buf.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 错误。
另请参见:
FilterOutputStream.write(int)

flush

public void flush()
           throws IOException
刷新此缓冲的输出流。这迫使所有缓冲的输出字节被写出到底层输出流中。

指定者:
接口 Flushable 中的 flush
覆盖:
FilterOutputStream 中的 flush
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
FilterOutputStream.out