org.apache.lucene.store

## Class IndexOutput

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

- All Implemented Interfaces:
    Closeable, AutoCloseable
  Direct Known Subclasses:
    BufferedIndexOutput, ChecksumIndexOutput, RAMOutputStream

      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.

  `IndexOutput` may only be used from one thread, because it is not thread safe (it keeps internal state like file position).

  See Also:
    `Directory`, `IndexInput`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `IndexOutput()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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)` Deprecated. (4.1) This method will be removed in Lucene 5.0
    `void` | `setLength(long length)` Set the file length.

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

      `copyBytes, writeByte, writeBytes, 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`

- - ### 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`
      Specified by:
        `close` in interface `AutoCloseable`
      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

          @Deprecated
          public abstract void seek(long pos)
                             throws IOException

      Deprecated. (4.1) This method will be removed in Lucene 5.0
      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`

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