public abstract class IndexInput
extends java.lang.Object
implements java.lang.Cloneable
Directory
. A
random-access input stream. Used for all Lucene index input operations.Directory
Constructor and Description |
---|
IndexInput() |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
clone()
Returns a clone of this stream.
|
abstract void |
close()
Closes the stream to further 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 |
readBytes(byte[] b,
int offset,
int len,
boolean useBuffer)
Reads a specified number of bytes into an array at the
specified offset with control over whether the read
should be buffered (callers who have their own buffer
should pass in "false" for useBuffer).
|
void |
readChars(char[] buffer,
int start,
int length)
Deprecated.
-- please use readString or readBytes
instead, and construct the string
from those utf8 bytes
|
int |
readInt()
Reads four bytes and returns an int.
|
long |
readLong()
Reads eight bytes and returns a long.
|
java.lang.String |
readString()
Reads a string.
|
java.util.Map |
readStringStringMap() |
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 |
setModifiedUTF8StringsMode()
Call this if readString should read characters stored
in the old modified UTF8 format (length in java chars
and java's modified UTF8 encoding).
|
void |
skipChars(int length)
Deprecated.
this method operates on old "modified utf8" encoded
strings
|
public abstract byte readByte() throws java.io.IOException
java.io.IOException
IndexOutput.writeByte(byte)
public abstract void readBytes(byte[] b, int offset, int len) throws java.io.IOException
b
- the array to read bytes intooffset
- the offset in the array to start storing byteslen
- the number of bytes to readjava.io.IOException
IndexOutput.writeBytes(byte[],int)
public void readBytes(byte[] b, int offset, int len, boolean useBuffer) throws java.io.IOException
BufferedIndexInput
respects this parameter.b
- the array to read bytes intooffset
- the offset in the array to start storing byteslen
- the number of bytes to readuseBuffer
- set to false if the caller will handle
buffering.java.io.IOException
IndexOutput.writeBytes(byte[],int)
public int readInt() throws java.io.IOException
java.io.IOException
IndexOutput.writeInt(int)
public int readVInt() throws java.io.IOException
java.io.IOException
IndexOutput.writeVInt(int)
public long readLong() throws java.io.IOException
java.io.IOException
IndexOutput.writeLong(long)
public long readVLong() throws java.io.IOException
java.io.IOException
public void setModifiedUTF8StringsMode()
public java.lang.String readString() throws java.io.IOException
java.io.IOException
IndexOutput.writeString(String)
public void readChars(char[] buffer, int start, int length) throws java.io.IOException
buffer
- the array to read characters intostart
- the offset in the array to start storing characterslength
- the number of characters to readjava.io.IOException
IndexOutput.writeChars(String,int,int)
public void skipChars(int length) throws java.io.IOException
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 readlength
- The number of chars to readjava.io.IOException
public abstract void close() throws java.io.IOException
java.io.IOException
public abstract long getFilePointer()
seek(long)
public abstract void seek(long pos) throws java.io.IOException
java.io.IOException
getFilePointer()
public abstract long length()
public java.lang.Object clone()
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.
clone
in class java.lang.Object
public java.util.Map readStringStringMap() throws java.io.IOException
java.io.IOException
Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.