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

Direct Known Subclasses:
  FSDirectory.FSIndexOutput

    public abstract class BufferedIndexOutput

extends IndexOutput

Base implementation class for buffered `IndexOutput`.

Field Summary
`static int` `DEFAULT_BUFFER_SIZE` The default buffer size in bytes (16384).

Constructor Summary
`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
`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.
`int` `getBufferSize()` Returns size of the used output buffer in bytes.
`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 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`

### getBufferSize

    public final int getBufferSize()

  Returns size of the used output buffer in bytes.

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