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 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.
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 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.

See Also:
seek(long)


length

public 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.

See Also:
getFilePointer()


writeByte

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

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

See Also:
InputStream.readBytes(byte[],int,int)


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

See Also:
InputStream.readChars(char[],int,int)


writeInt

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

See Also:
InputStream.readInt()


writeLong

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

See Also:
InputStream.readLong()


writeString

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

See Also:
InputStream.readString()


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.

See Also:
InputStream.readVInt()


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.

See Also:
InputStream.readVLong()


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