org.apache.avro.util

## Class ByteBufferOutputStream

- java.lang.Object
- - java.io.OutputStream
  - - org.apache.avro.util.ByteBufferOutputStream

- All Implemented Interfaces:
    Closeable, Flushable, AutoCloseable

      public class ByteBufferOutputStream
      extends OutputStream

  Utility to collect data written to an `OutputStream` in `ByteBuffer`s.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `BUFFER_SIZE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ByteBufferOutputStream()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `append(List<ByteBuffer> lists)` Append a list of ByteBuffers to this stream.
    `List<ByteBuffer>` | `getBufferList()` Returns all data written and resets the stream to be empty.
    `void` | `prepend(List<ByteBuffer> lists)` Prepend a list of ByteBuffers to this stream.
    `void` | `reset()`
    `void` | `write(byte[] b, int off, int len)`
    `void` | `write(ByteBuffer buffer)`
    `void` | `write(int b)`
    `void` | `writeBuffer(ByteBuffer buffer)` Add a buffer to the output without copying, if possible.

    - ### Methods inherited from class java.io.OutputStream

      `close, flush, write`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### BUFFER_SIZE

          public static final int BUFFER_SIZE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ByteBufferOutputStream

          public ByteBufferOutputStream()

  - ### Method Detail

    - #### getBufferList

          public List<ByteBuffer> getBufferList()

      Returns all data written and resets the stream to be empty.

    - #### prepend

          public void prepend(List<ByteBuffer> lists)

      Prepend a list of ByteBuffers to this stream.

    - #### append

          public void append(List<ByteBuffer> lists)

      Append a list of ByteBuffers to this stream.

    - #### reset

          public void reset()

    - #### write

          public void write(ByteBuffer buffer)

    - #### write

          public void write(int b)

      Specified by:
        `write` in class `OutputStream`

    - #### write

          public void write(byte[] b,
                            int off,
                            int len)

      Overrides:
        `write` in class `OutputStream`

    - #### writeBuffer

          public void writeBuffer(ByteBuffer buffer)
                           throws IOException

      Add a buffer to the output without copying, if possible.
      Throws:
        `IOException`

Copyright © 2009–2024 The Apache Software Foundation. All rights reserved.