Package org.apache.lucene.store

# Class OutputStreamIndexOutput

java.lang.Object
org.apache.lucene.store.DataOutput
org.apache.lucene.store.IndexOutput
org.apache.lucene.store.OutputStreamIndexOutput

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

public class OutputStreamIndexOutput extends IndexOutput
Implementation class for buffered `IndexOutput` that writes to an `OutputStream`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `OutputStreamIndexOutput(String resourceDescription, String name, OutputStream out, int bufferSize)`
  Creates a new `OutputStreamIndexOutput` with the given buffer size.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Closes this stream to further operations.
  `final long`
  `getChecksum()`
  Returns the current checksum of bytes written so far
  `final long`
  `getFilePointer()`
  Returns the current position in this file, where the next write will occur.
  `final void`
  `writeByte(byte b)`
  Writes a single byte.
  `final void`
  `writeBytes(byte[] b, int offset, int length)`
  Writes an array of bytes.
  `void`
  `writeInt(int i)`
  Writes an int as four bytes (LE byte order).
  `void`
  `writeLong(long i)`
  Writes a long as eight bytes (LE byte order).
  `void`
  `writeShort(short i)`
  Writes a short as two bytes (LE byte order).

  ### Methods inherited from class org.apache.lucene.store.IndexOutput

  `alignFilePointer, alignOffset, getName, toString`

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

  `copyBytes, writeBytes, writeGroupVInts, writeGroupVInts, writeMapOfStrings, writeSetOfStrings, writeString, writeVInt, writeVLong, writeZInt, writeZLong`

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

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

- ## Constructor Details

  - ### OutputStreamIndexOutput

    public OutputStreamIndexOutput(String resourceDescription, String name, OutputStream out, int bufferSize)
    Creates a new `OutputStreamIndexOutput` with the given buffer size.
    Parameters:
      `bufferSize` - the buffer size in bytes used to buffer writes internally.
    Throws:
      `IllegalArgumentException` - if the given buffer size is less than `8`

- ## Method Details

  - ### writeByte

    public final void writeByte(byte b) throws IOException
    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`
    Throws:
      `IOException`
    See Also:
      - `DataInput.readByte()`

  - ### writeBytes

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

  - ### writeShort

    public void writeShort(short i) throws IOException
    Description copied from class: `DataOutput`
    Writes a short as two bytes (LE byte order).
    Overrides:
      `writeShort` in class `DataOutput`
    Throws:
      `IOException`
    See Also:
      - `DataInput.readShort()`
      - `BitUtil.VH_LE_SHORT`

  - ### writeInt

    public void writeInt(int i) throws IOException
    Description copied from class: `DataOutput`
    Writes an int as four bytes (LE byte order).
    Overrides:
      `writeInt` in class `DataOutput`
    Throws:
      `IOException`
    See Also:
      - `DataInput.readInt()`
      - `BitUtil.VH_LE_INT`

  - ### writeLong

    public void writeLong(long i) throws IOException
    Description copied from class: `DataOutput`
    Writes a long as eight bytes (LE byte order).
    Overrides:
      `writeLong` in class `DataOutput`
    Throws:
      `IOException`
    See Also:
      - `DataInput.readLong()`
      - `BitUtil.VH_LE_LONG`

  - ### close

    public void close() throws IOException
    Description copied from class: `IndexOutput`
    Closes this stream to further operations.
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    Specified by:
      `close` in class `IndexOutput`
    Throws:
      `IOException`

  - ### getFilePointer

    public final long getFilePointer()
    Description copied from class: `IndexOutput`
    Returns the current position in this file, where the next write will occur.
    Specified by:
      `getFilePointer` in class `IndexOutput`

  - ### getChecksum

    public final long getChecksum() throws IOException
    Description copied from class: `IndexOutput`
    Returns the current checksum of bytes written so far
    Specified by:
      `getChecksum` in class `IndexOutput`
    Throws:
      `IOException`