org.apache.lucene.store

Class OutputStream

Known Direct Subclasses:
RAMOutputStream

public abstract class OutputStream
extends java.lang.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

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.

Method Details

close

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

flush

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

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

getFilePointer

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

length

public abstract long length()
            throws IOException
The number of bytes in the file.

seek

public void seek(long pos)
            throws IOException
Sets current position in this file, where the next write will occur.

writeByte

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

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

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

writeInt

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

writeLong

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

writeString

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

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.

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.

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