org.apache.lucene.store
Class IndexOutput

java.lang.Object
  extended by org.apache.lucene.store.DataOutput
      extended by 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