Class UnsynchronizedByteArrayOutputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable

    public class UnsynchronizedByteArrayOutputStream
    extends java.io.OutputStream
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected byte[] buf
      The byte array containing the bytes written.
      protected int count
      The number of bytes written.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void reset()
      Resets this stream to the beginning of the underlying byte array.
      int size()
      Returns the total number of bytes written to this stream so far.
      byte[] toByteArray()
      Returns the contents of this ByteArrayOutputStream as a byte array.
      java.lang.String toString()
      Returns the contents of this ByteArrayOutputStream as a string.
      java.lang.String toString​(java.lang.String enc)
      Returns the contents of this ByteArrayOutputStream as a string converted according to the encoding declared in enc.
      void write​(byte[] buffer, int offset, int len)
      Writes count bytes from the byte array buffer starting at offset index to this stream.
      void write​(int oneByte)
      Writes the specified byte oneByte to the OutputStream.
      void writeTo​(java.io.OutputStream out)
      Takes the contents of this stream and writes it to the output stream out.
      • Methods inherited from class java.io.OutputStream

        close, flush, nullOutputStream, write
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • buf

        protected byte[] buf
        The byte array containing the bytes written.
      • count

        protected int count
        The number of bytes written.
    • Constructor Detail

      • UnsynchronizedByteArrayOutputStream

        public UnsynchronizedByteArrayOutputStream()
        Constructs a new ByteArrayOutputStream with a default size of 32 bytes. If more than 32 bytes are written to this instance, the underlying byte array will expand.
      • UnsynchronizedByteArrayOutputStream

        public UnsynchronizedByteArrayOutputStream​(int size)
        Constructs a new ByteArrayOutputStream with a default size of size bytes. If more than size bytes are written to this instance, the underlying byte array will expand.
        Parameters:
        size - initial size for the underlying byte array, must be non-negative.
        Throws:
        java.lang.IllegalArgumentException - if size < 0.
    • Method Detail

      • reset

        public void reset()
        Resets this stream to the beginning of the underlying byte array. All subsequent writes will overwrite any bytes previously stored in this stream.
      • size

        public int size()
        Returns the total number of bytes written to this stream so far.
        Returns:
        the number of bytes written to this stream.
      • toByteArray

        public byte[] toByteArray()
        Returns the contents of this ByteArrayOutputStream as a byte array. Any changes made to the receiver after returning will not be reflected in the byte array returned to the caller.
        Returns:
        this stream's current contents as a byte array.
      • toString

        public java.lang.String toString()
        Returns the contents of this ByteArrayOutputStream as a string. Any changes made to the receiver after returning will not be reflected in the string returned to the caller.
        Overrides:
        toString in class java.lang.Object
        Returns:
        this stream's current contents as a string.
      • toString

        public java.lang.String toString​(java.lang.String enc)
                                  throws java.io.UnsupportedEncodingException
        Returns the contents of this ByteArrayOutputStream as a string converted according to the encoding declared in enc.
        Parameters:
        enc - a string representing the encoding to use when translating this stream to a string.
        Returns:
        this stream's current contents as an encoded string.
        Throws:
        java.io.UnsupportedEncodingException - if the provided encoding is not supported.
      • write

        public void write​(byte[] buffer,
                          int offset,
                          int len)
        Writes count bytes from the byte array buffer starting at offset index to this stream.
        Overrides:
        write in class java.io.OutputStream
        Parameters:
        buffer - the buffer to be written.
        offset - the initial position in buffer to retrieve bytes.
        len - the number of bytes of buffer to write.
        Throws:
        java.lang.NullPointerException - if buffer is null.
        java.lang.IndexOutOfBoundsException - if offset < 0 or len < 0, or if offset + len is greater than the length of buffer.
      • write

        public void write​(int oneByte)
        Writes the specified byte oneByte to the OutputStream. Only the low order byte of oneByte is written.
        Specified by:
        write in class java.io.OutputStream
        Parameters:
        oneByte - the byte to be written.
      • writeTo

        public void writeTo​(java.io.OutputStream out)
                     throws java.io.IOException
        Takes the contents of this stream and writes it to the output stream out.
        Parameters:
        out - an OutputStream on which to write the contents of this stream.
        Throws:
        java.io.IOException - if an error occurs while writing to out.