Class Cloner.FastByteArrayOutputStream

java.lang.Object
java.io.OutputStream
io.github.ai4ci.util.Cloner.FastByteArrayOutputStream
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable
Enclosing class:
Cloner

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

    • buf

      protected byte[] buf
      Buffer and size
    • size

      protected int size
  • Constructor Details

    • FastByteArrayOutputStream

      public FastByteArrayOutputStream()
      Constructs a stream with buffer capacity size 5K
    • FastByteArrayOutputStream

      public FastByteArrayOutputStream(long initSize)
      Constructs a stream with the given initial size
  • Method Details

    • size

      public int size()
    • 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