Class ByteArrayBufferOutput

java.lang.Object
arc.util.io.ByteBufferOutput
com.xpdustry.claj.common.util.ByteArrayBufferOutput
All Implemented Interfaces:
Closeable, DataOutput, Flushable, AutoCloseable

public class ByteArrayBufferOutput extends arc.util.io.ByteBufferOutput implements Closeable, Flushable
Writes data into a ByteArrayOutputStream, optionally compressible, and maintains a ByteBuffer to the data.
Backed buffer must not be used for writing, as it's only for viewing purposes.

Don't forget to close() or flush() after writing!

  • Field Details

    • back

      public final arc.util.io.ReusableByteOutStream back
    • stream

      public final DataOutputStream stream
    • compressed

      public final boolean compressed
  • Constructor Details

    • ByteArrayBufferOutput

      public ByteArrayBufferOutput()
    • ByteArrayBufferOutput

      public ByteArrayBufferOutput(int initialCapacity)
    • ByteArrayBufferOutput

      public ByteArrayBufferOutput(int initialCapacity, boolean compress)
  • Method Details

    • write

      public void write(int i)
      Specified by:
      write in interface DataOutput
      Overrides:
      write in class arc.util.io.ByteBufferOutput
    • write

      public void write(byte[] b)
      Specified by:
      write in interface DataOutput
      Overrides:
      write in class arc.util.io.ByteBufferOutput
    • write

      public void write(byte[] b, int off, int len)
      Specified by:
      write in interface DataOutput
      Overrides:
      write in class arc.util.io.ByteBufferOutput
    • writeBoolean

      public void writeBoolean(boolean v)
      Specified by:
      writeBoolean in interface DataOutput
      Overrides:
      writeBoolean in class arc.util.io.ByteBufferOutput
    • writeByte

      public void writeByte(int v)
      Specified by:
      writeByte in interface DataOutput
      Overrides:
      writeByte in class arc.util.io.ByteBufferOutput
    • writeShort

      public void writeShort(int v)
      Specified by:
      writeShort in interface DataOutput
      Overrides:
      writeShort in class arc.util.io.ByteBufferOutput
    • writeChar

      public void writeChar(int v)
      Specified by:
      writeChar in interface DataOutput
      Overrides:
      writeChar in class arc.util.io.ByteBufferOutput
    • writeInt

      public void writeInt(int v)
      Specified by:
      writeInt in interface DataOutput
      Overrides:
      writeInt in class arc.util.io.ByteBufferOutput
    • writeLong

      public void writeLong(long v)
      Specified by:
      writeLong in interface DataOutput
      Overrides:
      writeLong in class arc.util.io.ByteBufferOutput
    • writeFloat

      public void writeFloat(float v)
      Specified by:
      writeFloat in interface DataOutput
      Overrides:
      writeFloat in class arc.util.io.ByteBufferOutput
    • writeDouble

      public void writeDouble(double v)
      Specified by:
      writeDouble in interface DataOutput
      Overrides:
      writeDouble in class arc.util.io.ByteBufferOutput
    • writeBytes

      public void writeBytes(String s)
      Specified by:
      writeBytes in interface DataOutput
      Overrides:
      writeBytes in class arc.util.io.ByteBufferOutput
    • writeChars

      public void writeChars(String s)
      Specified by:
      writeChars in interface DataOutput
      Overrides:
      writeChars in class arc.util.io.ByteBufferOutput
    • writeUTF

      public void writeUTF(String s)
      Specified by:
      writeUTF in interface DataOutput
      Overrides:
      writeUTF in class arc.util.io.ByteBufferOutput
    • flush

      public void flush()
      Specified by:
      flush in interface Flushable
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • updateBuffer

      public void updateBuffer()
      Will update the backed ByteBuffer if needed.