Class BufferedOutputStream

All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public class BufferedOutputStream extends FilterOutputStream
Writes to another stream through a buffer, so that many small writes become few large ones.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected byte[]
    The buffer.
    protected int
    How many bytes of buf are waiting to be written.

    Fields inherited from class FilterOutputStream

    out
  • Constructor Summary

    Constructors
    Constructor
    Description
    Buffers out with an 8192 byte buffer.
    Buffers out with a buffer of size bytes.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Closes this output stream and releases any system resources associated with this stream.
    void
    Flushes this output stream and forces any buffered output bytes to be written out.
    void
    write(byte[] b, int off, int len)
    Writes len bytes from the specified byte array starting at offset off to this output stream.
    void
    write(int b)
    Writes the specified byte to this output stream.

    Methods inherited from class OutputStream

    write

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • buf

      protected byte[] buf
      The buffer.
    • count

      protected int count
      How many bytes of buf are waiting to be written.
  • Constructor Details

    • BufferedOutputStream

      public BufferedOutputStream(OutputStream out)
      Buffers out with an 8192 byte buffer.
    • BufferedOutputStream

      public BufferedOutputStream(OutputStream out, int size)

      Buffers out with a buffer of size bytes.

      Throws
      • IllegalArgumentException: when size is not positive
  • Method Details

    • write

      public void write(int b) throws IOException
      Description copied from class: OutputStream
      Writes the specified byte to this output stream. The general contract for write is that one byte is written to the output stream. The byte to be written is the eight low-order bits of the argument b. The 24 high-order bits of b are ignored. Subclasses of OutputStream must provide an implementation for this method.
      Overrides:
      write in class FilterOutputStream
      Throws:
      IOException
    • write

      public void write(byte[] b, int off, int len) throws IOException
      Description copied from class: OutputStream
      Writes len bytes from the specified byte array starting at offset off to this output stream. The general contract for write(b, off, len) is that some of the bytes in the array b are written to the output stream in order; element b[off] is the first byte written and b[off+len-1] is the last byte written by this operation. The write method of OutputStream calls the write method of one argument on each of the bytes to be written out. Subclasses are encouraged to override this method and provide a more efficient implementation. If b is null, a NullPointerException is thrown. If off is negative, or len is negative, or off+len is greater than the length of the array b, then an IndexOutOfBoundsException is thrown.
      Overrides:
      write in class FilterOutputStream
      Throws:
      IOException
    • flush

      public void flush() throws IOException
      Description copied from class: OutputStream
      Flushes this output stream and forces any buffered output bytes to be written out. The general contract of flush is that calling it is an indication that, if any bytes previously written have been buffered by the implementation of the output stream, such bytes should immediately be written to their intended destination. The flush method of OutputStream does nothing.
      Specified by:
      flush in interface Flushable
      Overrides:
      flush in class FilterOutputStream
      Throws:
      IOException
    • close

      public void close() throws IOException
      Description copied from class: OutputStream
      Closes this output stream and releases any system resources associated with this stream. The general contract of close is that it closes the output stream. A closed stream cannot perform output operations and cannot be reopened. The close method of OutputStream does nothing.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class FilterOutputStream
      Throws:
      IOException