Class FastByteArrayOutputStream

java.lang.Object
java.io.OutputStream
org.apache.myfaces.util.lang.FastByteArrayOutputStream
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public class FastByteArrayOutputStream extends OutputStream
ByteArrayOutputStream implementation that doesn't synchronize methods and doesn't copy the data on toByteArray().
  • Field Details

    • buf

      protected byte[] buf
    • size

      protected int size
  • Constructor Details

    • FastByteArrayOutputStream

      public FastByteArrayOutputStream()
    • FastByteArrayOutputStream

      public FastByteArrayOutputStream(int size)
  • Method Details

    • getSize

      public int getSize()
    • getByteArray

      public byte[] getByteArray()
      Returns the byte array containing the written data. Note that this array will almost always be larger than the amount of data actually written.
    • write

      public final void write(byte[] b)
      Overrides:
      write in class OutputStream
    • write

      public final void write(byte[] b, int off, int len)
      Overrides:
      write in class OutputStream
    • write

      public final void write(int b)
      Specified by:
      write in class OutputStream
    • reset

      public void reset()
    • getInputStream

      public InputStream getInputStream()
      Returns a ByteArrayInputStream for reading back the written data