## org.apache.lucene.store
Class IndexOutput

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

All Implemented Interfaces:
  Closeable

Direct Known Subclasses:
  BufferedIndexOutput, ChecksumIndexOutput, MockIndexOutputWrapper, RAMOutputStream, ThrottledIndexOutput

    public abstract class IndexOutput

extends DataOutput
implements Closeable

Abstract base class for output to a file in a Directory. A random-access output stream. Used for all Lucene index output operations.

See Also:
  `Directory`, `IndexInput`

Constructor Summary
`IndexOutput()`

Method Summary
`abstract void` `close()` Closes this stream to further operations.
`abstract void` `flush()` Forces any buffered output to be written.
`abstract 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.
`abstract void` `seek(long pos)` Sets current position in this file, where the next write will occur.
`void` `setLength(long length)` Set the file length.

Methods inherited from class org.apache.lucene.store.DataOutput
`copyBytes, writeByte, writeBytes, writeBytes, writeChars, writeChars, writeInt, writeLong, writeShort, writeString, writeStringStringMap, writeVInt, writeVLong`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### IndexOutput

    public IndexOutput()

Method Detail

### flush

    public abstract void flush()
                        throws IOException

  Forces any buffered output to be written.

  Throws:
    `IOException`

### close

    public abstract void close()
                        throws IOException

  Closes this stream to further operations.

  Specified by:
    `close` in interface `Closeable`
  Throws:
    `IOException`

### getFilePointer

    public abstract long getFilePointer()

  Returns the current position in this file, where the next write will occur.

  See Also:
    `seek(long)`

### seek

    public abstract void seek(long pos)
                       throws IOException

  Sets current position in this file, where the next write will occur.

  Throws:
    `IOException`
  See Also:
    `getFilePointer()`

### length

    public abstract long length()
                         throws IOException

  The number of bytes in the file.

  Throws:
    `IOException`

### setLength

    public void setLength(long length)
                   throws IOException

  Set the file length. By default, this method does nothing (it's optional for a Directory to implement it). But, certain Directory implementations (for example @see FSDirectory) can use this to inform the underlying IO system to pre-allocate the file to the specified size. If the length is longer than the current file length, the bytes added to the file are undefined. Otherwise the file is truncated.

  Parameters:
    `length` - file length
  Throws:
    `IOException`