org.apache.lucene.store
Class IndexOutput

java.lang.Object
  extended by org.apache.lucene.store.IndexOutput
Direct Known Subclasses:
BufferedIndexOutput, ChecksumIndexOutput, DbIndexOutput, JEIndexOutput, RAMOutputStream

public abstract class IndexOutput
extends Object

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.
 void copyBytes(IndexInput input, long numBytes)
          Copy numBytes bytes from input to ourself.
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.
abstract  void writeByte(byte b)
          Writes a single byte.
 void writeBytes(byte[] b, int length)
          Writes an array of bytes.
abstract  void writeBytes(byte[] b, int offset, int length)
          Writes an array of bytes.
 void writeChars(char[] s, int start, int length)
          Deprecated. -- please pre-convert to utf8 bytes instead or use writeString(java.lang.String)
 void writeChars(String s, int start, int length)
          Deprecated. -- please pre-convert to utf8 bytes instead or use writeString(java.lang.String)
 void writeInt(int i)
          Writes an int as four bytes.
 void writeLong(long i)
          Writes a long as eight bytes.
 void writeString(String s)
          Writes a string.
 void writeStringStringMap(Map map)
           
 void writeVInt(int i)
          Writes an int in a variable-length format.
 void writeVLong(long i)
          Writes an long in a variable-length format.
 
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

writeByte

public abstract void writeByte(byte b)
                        throws IOException
Writes a single byte.

Throws:
IOException
See Also:
IndexInput.readByte()

writeBytes

public void writeBytes(byte[] b,
                       int length)
                throws IOException
Writes an array of bytes.

Parameters:
b - the bytes to write
length - the number of bytes to write
Throws:
IOException
See Also:
IndexInput.readBytes(byte[],int,int)

writeBytes

public abstract void writeBytes(byte[] b,
                                int offset,
                                int length)
                         throws IOException
Writes an array of bytes.

Parameters:
b - the bytes to write
offset - the offset in the byte array
length - the number of bytes to write
Throws:
IOException
See Also:
IndexInput.readBytes(byte[],int,int)

writeInt

public void writeInt(int i)
              throws IOException
Writes an int as four bytes.

Throws:
IOException
See Also:
IndexInput.readInt()

writeVInt

public void writeVInt(int i)
               throws IOException
Writes an int in a variable-length format. Writes between one and five bytes. Smaller values take fewer bytes. Negative numbers are not supported.

Throws:
IOException
See Also:
IndexInput.readVInt()

writeLong

public void writeLong(long i)
               throws IOException
Writes a long as eight bytes.

Throws:
IOException
See Also:
IndexInput.readLong()

writeVLong

public void writeVLong(long i)
                throws IOException
Writes an long in a variable-length format. Writes between one and five bytes. Smaller values take fewer bytes. Negative numbers are not supported.

Throws:
IOException
See Also:
IndexInput.readVLong()

writeString

public void writeString(String s)
                 throws IOException
Writes a string.

Throws:
IOException
See Also:
IndexInput.readString()

writeChars

public void writeChars(String s,
                       int start,
                       int length)
                throws IOException
Deprecated. -- please pre-convert to utf8 bytes instead or use writeString(java.lang.String)

Writes a sub sequence of characters from s as the old format (modified UTF-8 encoded bytes).

Parameters:
s - the source of the characters
start - the first character in the sequence
length - the number of characters in the sequence
Throws:
IOException

writeChars

public void writeChars(char[] s,
                       int start,
                       int length)
                throws IOException
Deprecated. -- please pre-convert to utf8 bytes instead or use writeString(java.lang.String)

Writes a sub sequence of characters from char[] as the old format (modified UTF-8 encoded bytes).

Parameters:
s - the source of the characters
start - the first character in the sequence
length - the number of characters in the sequence
Throws:
IOException

copyBytes

public void copyBytes(IndexInput input,
                      long numBytes)
               throws IOException
Copy numBytes bytes from input to ourself.

Throws:
IOException

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.

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

writeStringStringMap

public void writeStringStringMap(Map map)
                          throws IOException
Throws:
IOException


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