org.apache.lucene.store

## Class BufferedIndexOutput

- java.lang.Object
- - org.apache.lucene.store.DataOutput
  - - org.apache.lucene.store.IndexOutput
    - - org.apache.lucene.store.BufferedIndexOutput

- All Implemented Interfaces:
    Closeable, AutoCloseable
  Direct Known Subclasses:
    FSDirectory.FSIndexOutput

      public abstract class BufferedIndexOutput
      extends IndexOutput

  Base implementation class for buffered `IndexOutput`.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `DEFAULT_BUFFER_SIZE` The default buffer size in bytes (16384).

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BufferedIndexOutput()` Creates a new `BufferedIndexOutput` with the default buffer size (16384 bytes see `DEFAULT_BUFFER_SIZE`)
    `BufferedIndexOutput(int bufferSize)` Creates a new `BufferedIndexOutput` with the given buffer size.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Closes this stream to further operations.
    `void` | `flush()` Forces any buffered output to be written.
    `protected abstract void` | `flushBuffer(byte[] b, int offset, int len)` Expert: implements buffer write.
    `long` | `getFilePointer()` Returns the current position in this file, where the next write will occur.
    `abstract long` | `length()` The number of bytes in the file.
    `void` | `seek(long pos)` Sets 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.

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

      `setLength`

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

      `copyBytes, writeBytes, writeInt, writeLong, writeShort, writeString, writeStringSet, writeStringStringMap, writeVInt, writeVLong`

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

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

- - ### Field Detail

    - #### DEFAULT_BUFFER_SIZE

          public static final int DEFAULT_BUFFER_SIZE

      The default buffer size in bytes (16384).
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### BufferedIndexOutput

          public BufferedIndexOutput()

      Creates a new `BufferedIndexOutput` with the default buffer size (16384 bytes see `DEFAULT_BUFFER_SIZE`)

    - #### BufferedIndexOutput

          public BufferedIndexOutput(int bufferSize)

      Creates a new `BufferedIndexOutput` 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 or equal to `0`

  - ### Method Detail

    - #### writeByte

          public 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 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)`

    - #### flush

          public void flush()
                     throws IOException

      Description copied from class: `IndexOutput`
      Forces any buffered output to be written.
      Specified by:
        `flush` in class `IndexOutput`
      Throws:
        `IOException`

    - #### flushBuffer

          protected abstract void flushBuffer(byte[] b,
                         int offset,
                         int len)
                                       throws IOException

      Expert: implements buffer write. Writes bytes at the current position in the output.
      Parameters:
        `b` - the bytes to write
        `offset` - the offset in the byte array
        `len` - the number of bytes to write
      Throws:
        `IOException`

    - #### close

          public void close()
                     throws IOException

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

    - #### getFilePointer

          public 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`
      See Also:
        `IndexOutput.seek(long)`

    - #### seek

          public void seek(long pos)
                    throws IOException

      Description copied from class: `IndexOutput`
      Sets current position in this file, where the next write will occur.
      Specified by:
        `seek` in class `IndexOutput`
      Throws:
        `IOException`
      See Also:
        `IndexOutput.getFilePointer()`

    - #### length

          public abstract long length()
                               throws IOException

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

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