Methods Summary |
---|
public java.lang.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.
IndexInput clone = null;
try {
clone = (IndexInput)super.clone();
} catch (CloneNotSupportedException e) {}
clone.chars = null;
return clone;
|
public abstract void | close()Closes the stream to futher operations.
|
public abstract long | getFilePointer()Returns the current position in this file, where the next read will
occur.
|
public abstract long | length()The number of bytes in the file.
|
public abstract byte | readByte()Reads and returns a single byte.
|
public abstract void | readBytes(byte[] b, int offset, int len)Reads a specified number of bytes into an array at the specified offset.
|
public void | readChars(char[] buffer, int start, int length)Reads UTF-8 encoded characters into an array.
final int end = start + length;
for (int i = start; i < end; i++) {
byte b = readByte();
if ((b & 0x80) == 0)
buffer[i] = (char)(b & 0x7F);
else if ((b & 0xE0) != 0xE0) {
buffer[i] = (char)(((b & 0x1F) << 6)
| (readByte() & 0x3F));
} else
buffer[i] = (char)(((b & 0x0F) << 12)
| ((readByte() & 0x3F) << 6)
| (readByte() & 0x3F));
}
|
public int | readInt()Reads four bytes and returns an int.
return ((readByte() & 0xFF) << 24) | ((readByte() & 0xFF) << 16)
| ((readByte() & 0xFF) << 8) | (readByte() & 0xFF);
|
public long | readLong()Reads eight bytes and returns a long.
return (((long)readInt()) << 32) | (readInt() & 0xFFFFFFFFL);
|
public java.lang.String | readString()Reads a string.
int length = readVInt();
if (chars == null || length > chars.length)
chars = new char[length];
readChars(chars, 0, length);
return new String(chars, 0, length);
|
public int | readVInt()Reads an int stored in variable-length format. Reads between one and
five bytes. Smaller values take fewer bytes. Negative numbers are not
supported.
byte b = readByte();
int i = b & 0x7F;
for (int shift = 7; (b & 0x80) != 0; shift += 7) {
b = readByte();
i |= (b & 0x7F) << shift;
}
return i;
|
public long | readVLong()Reads a long stored in variable-length format. Reads between one and
nine bytes. Smaller values take fewer bytes. Negative numbers are not
supported.
byte b = readByte();
long i = b & 0x7F;
for (int shift = 7; (b & 0x80) != 0; shift += 7) {
b = readByte();
i |= (b & 0x7FL) << shift;
}
return i;
|
public abstract void | seek(long pos)Sets current position in this file, where the next read will occur.
|