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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `close()` | Closes this stream to further operations.
    `long` | `getChecksum()` | Returns the current checksum of bytes written so far
    `long` | `getFilePointer()` | Returns the current position in this file, where the next write will occur.
    `void` | `writeByte​(byte b)` | Writes a single byte.
    `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, 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 Detail

    - #### 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 Detail

    - #### 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`