org.apache.lucene.store

## Class GrowableByteArrayDataOutput

- java.lang.Object
- - org.apache.lucene.store.DataOutput
  - - org.apache.lucene.store.GrowableByteArrayDataOutput

- All Implemented Interfaces:
    Accountable

      public final class GrowableByteArrayDataOutput
      extends DataOutput
      implements Accountable

  A `DataOutput` that can be used to build a byte[].
  NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- - ### Field Summary

    - ### Fields inherited from interface org.apache.lucene.util.Accountable

      `NULL_ACCOUNTABLE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GrowableByteArrayDataOutput(int cp)` Create a `GrowableByteArrayDataOutput` with the given initial capacity.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `byte[]` | `getBytes()`
    `int` | `getPosition()`
    `long` | `ramBytesUsed()` Return the memory usage of this object in bytes.
    `void` | `reset()`
    `void` | `writeByte(byte b)` Writes a single byte.
    `void` | `writeBytes(byte[] b, int off, int len)` Writes an array of bytes.
    `void` | `writeString(String string)` Writes a string.

    - ### Methods inherited from class org.apache.lucene.store.DataOutput

      `copyBytes, writeBytes, writeInt, writeLong, writeMapOfStrings, writeSetOfStrings, writeShort, writeVInt, writeVLong, writeZInt, writeZLong`

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

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

    - ### Methods inherited from interface org.apache.lucene.util.Accountable

      `getChildResources`

- - ### Constructor Detail

    - #### GrowableByteArrayDataOutput

          public GrowableByteArrayDataOutput(int cp)

      Create a `GrowableByteArrayDataOutput` with the given initial capacity.

  - ### Method Detail

    - #### writeByte

          public void writeByte(byte b)

      Description copied from class: `DataOutput`
      Writes a single byte.

      The most primitive data type is an eight-bit byte. Files are accessed as sequences of bytes. All other data types are defined as sequences of bytes, so file formats are byte-order independent.

      Specified by:
        `writeByte` in class `DataOutput`
      See Also:
        `DataInput.readByte()`

    - #### writeBytes

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

      Description copied from class: `DataOutput`
      Writes an array of bytes.
      Specified by:
        `writeBytes` in class `DataOutput`
      Parameters:
        `b` - the bytes to write
        `off` - the offset in the byte array
        `len` - the number of bytes to write
      See Also:
        `DataInput.readBytes(byte[],int,int)`

    - #### writeString

          public void writeString(String string)
                           throws IOException

      Description copied from class: `DataOutput`
      Writes a string.

      Writes strings as UTF-8 encoded bytes. First the length, in bytes, is written as a `VInt`, followed by the bytes.

      Overrides:
        `writeString` in class `DataOutput`
      Throws:
        `IOException`
      See Also:
        `DataInput.readString()`

    - #### getBytes

          public byte[] getBytes()

    - #### getPosition

          public int getPosition()

    - #### reset

          public void reset()

    - #### ramBytesUsed

          public long ramBytesUsed()

      Description copied from interface: `Accountable`
      Return the memory usage of this object in bytes. Negative values are illegal.
      Specified by:
        `ramBytesUsed` in interface `Accountable`

Copyright © 2000-2022 Apache Software Foundation. All Rights Reserved.