Module java.base
Package java.io

Class BufferedOutputStream

所有已实现的接口:
Closeable, Flushable, AutoCloseable

public class BufferedOutputStream extends FilterOutputStream
该类实现了一个缓冲输出流。通过设置这样的输出流,应用程序可以将字节写入底层输出流,而不一定导致每写入一个字节就调用底层系统。
自 JDK 版本:
1.0
  • Field Details

    • buf

      protected byte[] buf
      存储数据的内部缓冲区。
    • count

      protected int count
      缓冲区中有效字节数。该值始终在范围 0buf.length 之间;元素 buf[0]buf[count-1] 包含有效的字节数据。
  • Constructor Details

    • BufferedOutputStream

      public BufferedOutputStream(OutputStream out)
      创建一个新的缓冲输出流,用于向指定的底层输出流写入数据。
      参数:
      out - 底层输出流。
    • BufferedOutputStream

      public BufferedOutputStream(OutputStream out, int size)
      创建一个新的缓冲输出流,用于向指定的底层输出流以及指定的缓冲区大小写入数据。
      参数:
      out - 底层输出流。
      size - 缓冲区大小。
      抛出:
      IllegalArgumentException - 如果 size <= 0。
  • Method Details

    • 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
      从指定的字节数组中的偏移量 off 处开始写入 len 字节到此缓冲输出流。

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

      覆盖:
      write 在类 FilterOutputStream
      参数:
      b - 数据。
      off - 数据的起始偏移量。
      len - 要写入的字节数。
      抛出:
      IOException - 如果发生 I/O 错误。
      IndexOutOfBoundsException - 如果 off 为负数,len 为负数,或者 len 大于 b.length - off
      参见:
    • flush

      public void flush() throws IOException
      刷新此缓冲输出流。这将强制将任何缓冲的输出字节写入底层输出流。
      指定者:
      flush 在接口 Flushable
      覆盖:
      flush 在类 FilterOutputStream
      抛出:
      IOException - 如果发生 I/O 错误。
      参见: