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:
  • Constructor Details

    • IndexOutput

      public IndexOutput()
  • Method Details

    • 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 AutoCloseable
      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

      @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:
    • 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