org.apache.lucene.store

Class InputStream

Implemented Interfaces:
Cloneable

public abstract class InputStream
extends java.lang.Object
implements Cloneable

Abstract base class for input from a file in a Directory. A random-access input stream. Used for all Lucene index input operations.

See Also:
Directory, OutputStream

Field Summary

protected long
length

Method Summary

Object
clone()
Returns a clone of this stream.
void
close()
Closes the stream to futher operations.
long
getFilePointer()
Returns the current position in this file, where the next read will occur.
long
length()
The number of bytes in the file.
byte
readByte()
Reads and returns a single byte.
void
readBytes(byte[] b, int offset, int len)
Reads a specified number of bytes into an array at the specified offset.
void
readChars(char[] buffer, int start, int length)
Reads UTF-8 encoded characters into an array.
int
readInt()
Reads four bytes and returns an int.
protected void
readInternal(byte[] b, int offset, int length)
Expert: implements buffer refill.
long
readLong()
Reads eight bytes and returns a long.
String
readString()
Reads a string.
int
readVInt()
Reads an int stored in variable-length format.
long
readVLong()
Reads a long stored in variable-length format.
void
seek(long pos)
Sets current position in this file, where the next read will occur.
protected void
seekInternal(long pos)
Expert: implements seek.

Field Details

length

protected long length

Method Details

clone

public Object clone()
Returns a clone of this stream.

Clones of a stream access the same data, and are positioned at the same point as the stream they were cloned from.

Expert: Subclasses must ensure that clones may be positioned at different points in the input from each other and from the stream they were cloned from.


close

public void close()
            throws IOException
Closes the stream to futher operations.


getFilePointer

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

See Also:
seek(long)


length

public final long length()
The number of bytes in the file.


readByte

public final byte readByte()
            throws IOException
Reads and returns a single byte.

See Also:
OutputStream.writeByte(byte)


readBytes

public final void readBytes(byte[] b,
                            int offset,
                            int len)
            throws IOException
Reads a specified number of bytes into an array at the specified offset.

Parameters:
b - the array to read bytes into
offset - the offset in the array to start storing bytes
len - the number of bytes to read

See Also:
OutputStream.writeBytes(byte[],int)


readChars

public final void readChars(char[] buffer,
                            int start,
                            int length)
            throws IOException
Reads UTF-8 encoded characters into an array.

Parameters:
buffer - the array to read characters into
start - the offset in the array to start storing characters
length - the number of characters to read

See Also:
OutputStream.writeChars(String,int,int)


readInt

public final int readInt()
            throws IOException
Reads four bytes and returns an int.

See Also:
OutputStream.writeInt(int)


readInternal

protected void readInternal(byte[] b,
                            int offset,
                            int length)
            throws IOException
Expert: implements buffer refill. Reads bytes from the current position in the input.

Parameters:
b - the array to read bytes into
offset - the offset in the array to start storing bytes
length - the number of bytes to read


readLong

public final long readLong()
            throws IOException
Reads eight bytes and returns a long.

See Also:
OutputStream.writeLong(long)


readString

public final String readString()
            throws IOException
Reads a string.

See Also:
OutputStream.writeString(String)


readVInt

public final int readVInt()
            throws IOException
Reads an int stored in variable-length format. Reads between one and five bytes. Smaller values take fewer bytes. Negative numbers are not supported.

See Also:
OutputStream.writeVInt(int)


readVLong

public final long readVLong()
            throws IOException
Reads a long stored in variable-length format. Reads between one and nine bytes. Smaller values take fewer bytes. Negative numbers are not supported.


seek

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

See Also:
getFilePointer()


seekInternal

protected void seekInternal(long pos)
            throws IOException

See Also:
readInternal(byte[],int,int)


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