gate.creole.annic.apache.lucene.store
Class OutputStream

java.lang.Object
  extended by gate.creole.annic.apache.lucene.store.OutputStream
Direct Known Subclasses:
RAMOutputStream

public abstract class OutputStream
extends Object

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

See Also:
Directory, InputStream

Constructor Summary
OutputStream()
           
 
Method Summary
 void close()
          Closes this stream to further operations.
protected  void flush()
          Forces any buffered output to be written.
protected abstract  void flushBuffer(byte[] b, int len)
          Expert: implements buffer write.
 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.
 void seek(long pos)
          Sets current position in this file, where the next write will occur.
 void writeByte(byte b)
          Writes a single byte.
 void writeBytes(byte[] b, int length)
          Writes an array of bytes.
 void writeChars(String s, int start, int length)
          Writes a sequence of UTF-8 encoded characters from a 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 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

OutputStream

public OutputStream()
Method Detail

writeByte

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

Throws:
IOException
See Also:
InputStream.readByte()

writeBytes

public final 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:
InputStream.readBytes(byte[],int,int)

writeInt

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

Throws:
IOException
See Also:
InputStream.readInt()

writeVInt

public final 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:
InputStream.readVInt()

writeLong

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

Throws:
IOException
See Also:
InputStream.readLong()

writeVLong

public final 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:
InputStream.readVLong()

writeString

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

Throws:
IOException
See Also:
InputStream.readString()

writeChars

public final void writeChars(String s,
                             int start,
                             int length)
                      throws IOException
Writes a sequence of UTF-8 encoded characters from a string.

Parameters:
s - the source of the characters
start - the first character in the sequence
length - the number of characters in the sequence
Throws:
IOException
See Also:
InputStream.readChars(char[],int,int)

flush

protected final void flush()
                    throws IOException
Forces any buffered output to be written.

Throws:
IOException

flushBuffer

protected abstract void flushBuffer(byte[] b,
                                    int len)
                             throws IOException
Expert: implements buffer write. Writes bytes at the current position in the output.

Parameters:
b - the bytes to write
len - the number of bytes to write
Throws:
IOException

close

public void close()
           throws IOException
Closes this stream to further operations.

Throws:
IOException

getFilePointer

public final long getFilePointer()
                          throws IOException
Returns the current position in this file, where the next write will occur.

Throws:
IOException
See Also:
seek(long)

seek

public 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