Module  java.base
软件包  java.io

Class BufferedOutputStream

  • All Implemented Interfaces:
    CloseableFlushableAutoCloseable


    public class BufferedOutputStream
    extends FilterOutputStream
    该类实现缓冲输出流。 通过设置这样的输出流,应用程序可以向底层输出流写入字节,而不必为写入的每个字节导致底层系统的调用。
    从以下版本开始:
    1.0
    • 字段详细信息

      • 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 - 如果大小<= 0。
    • 方法详细信息

      • write

        public void write​(byte[] b,
                          int off,
                          int len)
                   throws IOException
        从指定的字节数组写入len个字节,从偏移off开始,输出到缓冲的输出流。

        通常,该方法将给定数组的字节存储到此流的缓冲区中,根据需要将缓冲区刷新到底层输出流。 然而,如果请求的长度至少与此流的缓冲区一样大,那么这个方法将刷新缓冲区并将字节直接写入底层的输出流。 因此,冗余BufferedOutputStream不会不必要地复制数据。

        重写:
        writeFilterOutputStream
        参数
        b - 数据。
        off - 数据中的起始偏移量。
        len - 要写入的字节数。
        异常
        IOException - 如果发生I / O错误。
        另请参见:
        FilterOutputStream.write(int)