org.apache.lucene.store

## Class ByteArrayIndexInput

- java.lang.Object
- - org.apache.lucene.store.DataInput
  - - org.apache.lucene.store.IndexInput
    - - org.apache.lucene.store.ByteArrayIndexInput

- All Implemented Interfaces:
    Closeable, AutoCloseable, Cloneable, RandomAccessInput

      public final class ByteArrayIndexInput
      extends IndexInput
      implements RandomAccessInput

  A `IndexInput` backed by a byte array.
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ByteArrayIndexInput(String description, byte[] bytes)`
    `ByteArrayIndexInput(String description, byte[] bytes, int offs, int length)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `IndexInput` | `clone()` Returns a clone of this stream.
    `void` | `close()` Closes the stream to further operations.
    `long` | `getFilePointer()` Returns the current position in this file, where the next read will occur.
    `long` | `length()` The number of bytes in the file.
    `byte` | `readByte()` Reads and returns a single byte.
    `byte` | `readByte(long pos)` Reads a byte at the given position in the file
    `void` | `readBytes(byte[] b, int offset, int len)` Reads a specified number of bytes into an array at the specified offset.
    `int` | `readInt()` Reads four bytes and returns an int.
    `int` | `readInt(long pos)` Reads an integer at the given position in the file
    `long` | `readLong()` Reads eight bytes and returns a long.
    `long` | `readLong(long pos)` Reads a long at the given position in the file
    `short` | `readShort()` Reads two bytes and returns a short.
    `short` | `readShort(long pos)` Reads a short at the given position in the file
    `int` | `readVInt()` Reads an int stored in variable-length format.
    `long` | `readVLong()` Reads a long stored in variable-length format.
    `void` | `seek(long pos)` Sets current position in this file, where the next read will occur.
    `ByteArrayIndexInput` | `slice(String sliceDescription, long offset, long length)` Creates a slice of this index input, with the given description, offset, and length.

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

      `getFullSliceDescription, randomAccessSlice, toString`

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

      `readBytes, readMapOfStrings, readSetOfStrings, readString, readZInt, readZLong, skipBytes`

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

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

- - ### Constructor Detail

    - #### ByteArrayIndexInput

          public ByteArrayIndexInput(String description,
                                     byte[] bytes)

    - #### ByteArrayIndexInput

          public ByteArrayIndexInput(String description,
                                     byte[] bytes,
                                     int offs,
                                     int length)

  - ### Method Detail

    - #### getFilePointer

          public long getFilePointer()

      Description copied from class: `IndexInput`
      Returns the current position in this file, where the next read will occur.
      Specified by:
        `getFilePointer` in class `IndexInput`
      See Also:
        `IndexInput.seek(long)`

    - #### seek

          public void seek(long pos)
                    throws EOFException

      Description copied from class: `IndexInput`
      Sets current position in this file, where the next read will occur. If this is beyond the end of the file then this will throw `EOFException` and then the stream is in an undetermined state.
      Specified by:
        `seek` in class `IndexInput`
      Throws:
        `EOFException`
      See Also:
        `IndexInput.getFilePointer()`

    - #### length

          public long length()

      Description copied from class: `IndexInput`
      The number of bytes in the file.
      Specified by:
        `length` in class `IndexInput`

    - #### readShort

          public short readShort()

      Description copied from class: `DataInput`
      Reads two bytes and returns a short.
      Overrides:
        `readShort` in class `DataInput`
      See Also:
        `DataOutput.writeByte(byte)`

    - #### readInt

          public int readInt()

      Description copied from class: `DataInput`
      Reads four bytes and returns an int.
      Overrides:
        `readInt` in class `DataInput`
      See Also:
        `DataOutput.writeInt(int)`

    - #### readLong

          public long readLong()

      Description copied from class: `DataInput`
      Reads eight bytes and returns a long.
      Overrides:
        `readLong` in class `DataInput`
      See Also:
        `DataOutput.writeLong(long)`

    - #### readVInt

          public int readVInt()

      Description copied from class: `DataInput`
      Reads an int stored in variable-length format. Reads between one and five bytes. Smaller values take fewer bytes. Negative numbers are supported, but should be avoided.

      The format is described further in `DataOutput.writeVInt(int)`.

      Overrides:
        `readVInt` in class `DataInput`
      See Also:
        `DataOutput.writeVInt(int)`

    - #### readVLong

          public long readVLong()

      Description copied from class: `DataInput`
      Reads a long stored in variable-length format. Reads between one and nine bytes. Smaller values take fewer bytes. Negative numbers are not supported.

      The format is described further in `DataOutput.writeVInt(int)`.

      Overrides:
        `readVLong` in class `DataInput`
      See Also:
        `DataOutput.writeVLong(long)`

    - #### readByte

          public byte readByte()

      Description copied from class: `DataInput`
      Reads and returns a single byte.
      Specified by:
        `readByte` in class `DataInput`
      See Also:
        `DataOutput.writeByte(byte)`

    - #### readBytes

          public void readBytes(byte[] b,
                                int offset,
                                int len)

      Description copied from class: `DataInput`
      Reads a specified number of bytes into an array at the specified offset.
      Specified by:
        `readBytes` in class `DataInput`
      Parameters:
        `b` - the array to read bytes into
        `offset` - the offset in the array to start storing bytes
        `len` - the number of bytes to read
      See Also:
        `DataOutput.writeBytes(byte[],int)`

    - #### close

          public void close()

      Description copied from class: `IndexInput`
      Closes the stream to further operations.
      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in class `IndexInput`

    - #### clone

          public IndexInput clone()

      Description copied from class: `IndexInput`
      Returns a clone of this stream.

      Clones of a stream access the same data, and are positioned at the same point as the stream they were cloned from.

      Expert: Subclasses must ensure that clones may be positioned at different points in the input from each other and from the stream they were cloned from.

      Warning: Lucene never closes cloned `IndexInput`s, it will only call `IndexInput.close()` on the original object.

      If you access the cloned IndexInput after closing the original object, any `readXXX` methods will throw `AlreadyClosedException`.

      This method is NOT thread safe, so if the current `IndexInput` is being used by one thread while `clone` is called by another, disaster could strike.

      Overrides:
        `clone` in class `IndexInput`

    - #### slice

          public ByteArrayIndexInput slice(String sliceDescription,
                                           long offset,
                                           long length)

      Description copied from class: `IndexInput`
      Creates a slice of this index input, with the given description, offset, and length. The slice is seeked to the beginning.
      Specified by:
        `slice` in class `IndexInput`

    - #### readByte

          public byte readByte(long pos)
                        throws IOException

      Description copied from interface: `RandomAccessInput`
      Reads a byte at the given position in the file
      Specified by:
        `readByte` in interface `RandomAccessInput`
      Throws:
        `IOException`
      See Also:
        `DataInput.readByte()`

    - #### readShort

          public short readShort(long pos)
                          throws IOException

      Description copied from interface: `RandomAccessInput`
      Reads a short at the given position in the file
      Specified by:
        `readShort` in interface `RandomAccessInput`
      Throws:
        `IOException`
      See Also:
        `DataInput.readShort()`

    - #### readInt

          public int readInt(long pos)
                      throws IOException

      Description copied from interface: `RandomAccessInput`
      Reads an integer at the given position in the file
      Specified by:
        `readInt` in interface `RandomAccessInput`
      Throws:
        `IOException`
      See Also:
        `DataInput.readInt()`

    - #### readLong

          public long readLong(long pos)
                        throws IOException

      Description copied from interface: `RandomAccessInput`
      Reads a long at the given position in the file
      Specified by:
        `readLong` in interface `RandomAccessInput`
      Throws:
        `IOException`
      See Also:
        `DataInput.readLong()`

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