Class ByteArrayOutputStream

java.lang.Object
java.io.OutputStream
java.io.ByteArrayOutputStream
All Implemented Interfaces:
AutoCloseable

public class ByteArrayOutputStream extends OutputStream
This class implements an output stream in which the data is written into a byte array. The buffer automatically grows as data is written to it. The data can be retrieved using toByteArray() and toString(). Since: JDK1.0, CLDC 1.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected byte[]
    The buffer where data is stored.
    protected int
    The number of valid bytes in the buffer.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new byte array output stream.
    Creates a new byte array output stream, with a buffer capacity of the specified size, in bytes.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Closes this output stream and releases any system resources associated with this stream.
    void
    Resets the count field of this byte array output stream to zero, so that all currently accumulated output in the output stream is discarded.
    int
    Returns the current size of the buffer.
    byte[]
    Creates a newly allocated byte array.
    Converts the buffer's contents into a string, translating bytes into characters according to the platform's default character encoding.
    void
    write(byte[] b, int off, int len)
    Writes len bytes from the specified byte array starting at offset off to this byte array output stream.
    void
    write(int b)
    Writes the specified byte to this byte array output stream.

    Methods inherited from class OutputStream

    flush, write

    Methods inherited from class Object

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

    • buf

      protected byte[] buf
      The buffer where data is stored.
    • count

      protected int count
      The number of valid bytes in the buffer.
  • Constructor Details

    • ByteArrayOutputStream

      public ByteArrayOutputStream()
      Creates a new byte array output stream. The buffer capacity is initially 32 bytes, though its size increases if necessary.
    • ByteArrayOutputStream

      public ByteArrayOutputStream(int size)
      Creates a new byte array output stream, with a buffer capacity of the specified size, in bytes. size - the initial size. - if size is negative.
  • Method Details

    • close

      public void close() throws IOException
      Closes this output stream and releases any system resources associated with this stream. A closed stream cannot perform output operations and cannot be reopened.
      Specified by:
      close in interface AutoCloseable
      Overrides:
      close in class OutputStream
      Throws:
      IOException
    • reset

      public void reset()
      Resets the count field of this byte array output stream to zero, so that all currently accumulated output in the output stream is discarded. The output stream can be used again, reusing the already allocated buffer space.
    • size

      public int size()
      Returns the current size of the buffer.
    • toByteArray

      public byte[] toByteArray()
      Creates a newly allocated byte array. Its size is the current size of this output stream and the valid contents of the buffer have been copied into it.
    • toString

      public String toString()
      Converts the buffer's contents into a string, translating bytes into characters according to the platform's default character encoding.
      Overrides:
      toString in class Object
    • write

      public void write(byte[] b, int off, int len)
      Writes len bytes from the specified byte array starting at offset off to this byte array output stream.
      Overrides:
      write in class OutputStream
    • write

      public void write(int b)
      Writes the specified byte to this byte array output stream.
      Specified by:
      write in class OutputStream