org.apache.lucene.store

Class IndexInput

Implemented Interfaces:
Cloneable
Known Direct Subclasses:
BufferedIndexInput

public abstract class IndexInput
extends 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

Method Summary

Object
clone()
Returns a clone of this stream.
abstract void
close()
Closes the stream to futher operations.
abstract long
getFilePointer()
Returns the current position in this file, where the next read will occur.
abstract long
length()
The number of bytes in the file.
abstract byte
readByte()
Reads and returns a single byte.
abstract 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.
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.
abstract void
seek(long pos)
Sets current position in this file, where the next read will occur.
void
skipChars(int length)
Expert Similar to readChars(char[],int,int) but does not do any conversion operations on the bytes it is reading in.

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 abstract void close()
            throws IOException
Closes the stream to futher operations.

getFilePointer

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

length

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

readByte

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

readBytes

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

readChars

public 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

readInt

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

readLong

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

readString

public String readString()
            throws IOException
Reads a string.

readVInt

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

readVLong

public 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 abstract void seek(long pos)
            throws IOException
Sets current position in this file, where the next read will occur.

skipChars

public void skipChars(int length)
            throws IOException
Expert Similar to readChars(char[],int,int) but does not do any conversion operations on the bytes it is reading in. It still has to invoke readByte() just as readChars(char[],int,int) does, but it does not need a buffer to store anything and it does not have to do any of the bitwise operations, since we don't actually care what is in the byte except to determine how many more bytes to read
Parameters:
length - The number of chars to read

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