public interface RandomDataInput extends ObjectInput, RandomAccess, BytesCommon
Modifier and Type | Method and Description |
---|---|
int |
available() |
void |
close()
Finishes the excerpt entry if not finished()
|
boolean |
compare(long offset,
RandomDataInput input,
long inputOffset,
long len) |
long |
nextSetBit(long fromIndex)
From a given bit index, find the next bit with is set.
|
int |
read()
Reads a byte of data.
|
int |
read(byte[] bytes)
Reads into an array of bytes.
|
int |
read(byte[] bytes,
int off,
int len)
Reads into an array of bytes.
|
void |
read(ByteBuffer bb)
Copy bytes into a ByteBuffer to the minimum of the length
remaining() in the ByteBuffer or the
Excerpt. |
void |
read(ByteBuffer bb,
int length)
Copy bytes into a ByteBuffer to the minimum of the length in the ByteBuffer or the
Excerpt.
|
boolean |
read8bitText(StringBuilder stringBuilder) |
boolean |
readBoolean()
Reads one input byte and returns
true if that byte is nonzero, false if that byte is
zero. |
boolean |
readBoolean(long offset)
Reads one input byte and returns
true if that byte is nonzero, false if that byte is
zero. |
byte |
readByte()
Reads and returns one input byte.
|
byte |
readByte(long offset)
Reads and returns one input byte.
|
char |
readChar()
Reads two input bytes and returns a
char value. |
char |
readChar(long offset)
Reads two input bytes and returns a
char value. |
double |
readCompactDouble()
Reads the first four bytes as readFloat().
|
int |
readCompactInt()
Reads two or six input bytes and returns an
int value. |
long |
readCompactLong()
Reads four or twelve input bytes and returns a
long value. |
short |
readCompactShort()
Reads one or three input bytes and returns a
short value. |
long |
readCompactUnsignedInt()
Reads two or six input bytes and returns an
int value. |
int |
readCompactUnsignedShort()
Reads one or three input bytes and returns a
short value. |
double |
readDouble()
Reads eight input bytes and returns a
double value. |
double |
readDouble(long offset)
Reads eight input bytes and returns a
double value. |
<E> E |
readEnum(Class<E> eClass)
Read a String with
readUTFΔ which is converted to an enumerable type. |
<E> E |
readEnum(long offset,
int maxSize,
Class<E> eClass) |
float |
readFloat()
Reads four input bytes and returns a
float value. |
float |
readFloat(long offset)
Reads four input bytes and returns a
float value. |
void |
readFully(byte[] bytes)
Reads some bytes from an input stream and stores them into the buffer array
b . |
void |
readFully(byte[] bytes,
int off,
int len)
Reads
len bytes from an input stream. |
void |
readFully(char[] data) |
void |
readFully(char[] data,
int off,
int len) |
void |
readFully(long offset,
byte[] bytes,
int off,
int len) |
long |
readIncompleteLong(long offset)
Same as readLong except the remaining() can be less than 8.
|
<T> T |
readInstance(Class<T> objClass,
T obj)
Read an instance of a class assuming objClass was provided when written.
|
int |
readInt()
Reads four input bytes and returns an
int value. |
int |
readInt(long offset)
Reads four input bytes and returns an
int value. |
int |
readInt24()
Reads three input bytes and returns a 24-bit
int value. |
int |
readInt24(long offset)
Reads three input bytes and returns a 24-bit
int value. |
long |
readInt48()
Reads six input bytes and returns a
long value. |
long |
readInt48(long offset)
Reads six input bytes and returns a
long value. |
String |
readLine()
Reads the next line of text from the input stream.
|
<E> void |
readList(Collection<E> list,
Class<E> eClass)
Read a stop bit encoded length and populates this Collection after zeroOut()ing it.
|
long |
readLong()
Reads eight input bytes and returns a
long value. |
long |
readLong(long offset)
Reads eight input bytes and returns a
long value. |
<K,V> Map<K,V> |
readMap(Map<K,V> map,
Class<K> kClass,
Class<V> vClass)
Read a stop bit encoded length and populates this Map after zeroOut()ing it.
|
Object |
readObject()
Read and return an object.
|
<T> T |
readObject(Class<T> tClass)
Read and return an object.
|
void |
readObject(Object object,
int start,
int end)
Read the object from start to end bytes
|
short |
readShort()
Reads two input bytes and returns a
short value. |
short |
readShort(long offset)
Reads two input bytes and returns a
short value. |
long |
readStopBit()
Reads between one and ten bytes with are stop encoded with support for negative numbers
|
int |
readUnsignedByte()
Reads one input byte, zero-extends it to type
int , and returns the result, which is therefore in the
range 0 through 255 . |
int |
readUnsignedByte(long offset)
Reads one input byte, zero-extends it to type
int , and returns the result, which is therefore in the
range 0 through 255 . |
long |
readUnsignedInt()
Reads four input bytes and returns an
int value. |
long |
readUnsignedInt(long offset)
Reads four input bytes and returns an
int value. |
int |
readUnsignedShort()
Reads two input bytes and returns an
int value in the range 0 through
65535 . |
int |
readUnsignedShort(long offset)
Reads two input bytes and returns an
int value in the range 0 through
65535 . |
String |
readUTF()
Reads in a string that has been encoded using a modified UTF-8 format.
|
String |
readUTFΔ()
The same as readUTF() except the length is stop bit encoded.
|
String |
readUTFΔ(long offset)
The same as readUTFΔ() except an offset is given.
|
boolean |
readUTFΔ(StringBuilder stringBuilder)
The same as readUTFΔ() except the chars are copied to a truncated StringBuilder.
|
double |
readVolatileDouble(long offset)
This is the same as readDouble() except a read barrier is performed first.
|
float |
readVolatileFloat(long offset)
This is the same as readFloat() except a read barrier is performed first.
|
int |
readVolatileInt()
This is the same as readInt() except a read barrier is performed first.
|
int |
readVolatileInt(long offset)
This is the same as readInt() except a read barrier is performed first.
|
long |
readVolatileLong()
This is the same readLong() except a dread barrier is performed first
|
long |
readVolatileLong(long offset)
This is the same readLong() except a dread barrier is performed first
|
long |
skip(long n)
Skips n bytes of input.
|
int |
skipBytes(int n)
Makes an attempt to skip over
n bytes of data from the input stream, discarding the skipped bytes. |
boolean |
startsWith(RandomDataInput input) |
alignPositionAddr, byteOrder, capacity, checkEndOfBuffer, clear, finish, flip, inputStream, isFinished, limit, limit, load, objectSerializer, outputStream, position, position, remaining, slice, slice, sliceAsByteBuffer, toDebugString, toDebugString, toHexString, toString
void readFully(@NotNull byte[] bytes)
Reads some bytes from an input stream and stores them into the buffer array b
. The number of bytes
read is equal to the length of b
.
This method blocks until one of the following conditions occurs:
b.length
bytes of input data are available, in which case a normal return is made. EOFException
is thrown.IOException
other than EOFException
is thrown.
If bytes
is null
, a NullPointerException
is thrown. If bytes.length
is zero, then no bytes are read. Otherwise, the first byte read is stored into element bytes[0]
, the
next one into bytes[1]
, and so on. If an exception is thrown from this method, then it may be that some
but not all bytes of bytes
have been updated with data from the input stream.
void readFully(@NotNull byte[] bytes, int off, int len)
Reads len
bytes from an input stream.
This method blocks until one of the following conditions occurs:
len
bytes of input data are available, in which case a normal return is made.EOFException
is thrown.IOException
other than EOFException
is thrown.
If bytes
is null
, a NullPointerException
is thrown. If off
is
negative, or len
is negative, or off+len
is greater than the length of the array
bytes
, then an IndexOutOfBoundsException
is thrown. If len
is zero, then no
bytes are read. Otherwise, the first byte read is stored into element bytes[off]
, the next one into
bytes[off+1]
, and so on. The number of bytes read is, at most, equal to len
.
void readFully(long offset, @NotNull byte[] bytes, int off, int len)
void readFully(@NotNull char[] data)
void readFully(@NotNull char[] data, int off, int len)
int skipBytes(int n)
n
bytes of data from the input stream, discarding the skipped bytes.
However, it may skip over some smaller number of bytes, possibly zero. This may result from any of a number of
conditions; reaching end of file before n
bytes have been skipped is only one possibility. This
method never throws an EOFException
. The actual number of bytes skipped is returned.boolean readBoolean()
true
if that byte is nonzero, false
if that byte is
zero. This method is suitable for reading the byte written by the writeBoolean
method of interface
DataOutput
.readBoolean
in interface DataInput
boolean
value read.boolean readBoolean(long offset)
true
if that byte is nonzero, false
if that byte is
zero. This method is suitable for reading the byte written by the writeBoolean
method of interface
RandomDataOutput
.offset
- to read byte translated into a booleanboolean
value read.byte readByte()
-128
through
127
, inclusive. This method is suitable for reading the byte written by the writeByte
method of interface DataOutput
.byte readByte(long offset)
-128
through
127
, inclusive. This method is suitable for reading the byte written by the writeByte
method of interface RandomDataOutput
.offset
- of byte to read.int readUnsignedByte()
int
, and returns the result, which is therefore in the
range 0
through 255
. This method is suitable for reading the byte written by the
writeByte
method of interface DataOutput
if the argument to writeByte
was
intended to be a value in the range 0
through 255
.readUnsignedByte
in interface DataInput
int readUnsignedByte(long offset)
int
, and returns the result, which is therefore in the
range 0
through 255
. This method is suitable for reading the byte written by the
writeByte
method of interface RandomDataOutput
if the argument to
writeByte
was intended to be a value in the range 0
through 255
.offset
- of byte to readshort readShort()
short
value. Let a
be the first byte read and
b
be the second byte on big endian machines, and the opposite on little endian machines. The value
returned is:
(short)((a << 8) | (b & 0xff))
This method is suitable for reading the bytes written by the writeShort
method of interface
DataOutput
.short readShort(long offset)
short
value. Let a
be the first byte read and
b
be the second byte on big endian machines, and the opposite on little endian machines. The value
returned is:
(short)((a << 8) | (b & 0xff))
This method is suitable for reading the bytes written by the writeShort
method of interface
RandomDataOutput
.offset
- of short to read.int readUnsignedShort()
int
value in the range 0
through
65535
. Let a
be the first byte read and b
be the second byte on big endian
machines, and the opposite on little endian machines. The value returned is:
(((a & 0xff) << 8) | (b & 0xff))
This method is suitable for reading the bytes written by the writeUnsignedShort
method of interface
DataOutput
if the argument to writeUnsignedShort
was intended to be a value in the
range 0
through 65535
.readUnsignedShort
in interface DataInput
int readUnsignedShort(long offset)
int
value in the range 0
through
65535
. Let a
be the first byte read and b
be the second byte on big endian
machines, and the opposite on little endian machines. The value returned is:
(((a & 0xff) << 8) | (b & 0xff))
This method is suitable for reading the bytes written by the writeShort
method of interface
RandomDataOutput
if the argument to writeUnsignedShort
was intended to be a value in
the range 0
through 65535
.offset
- of short to read.short readCompactShort()
short
value. Let a
be the first byte read.
This mapped as follows; Byte.MIN_VALUE => Short.MIN_VALUE, Byte.MAX_VALUE => Short.MAX_VALUE, Byte.MIN_VALUE+2 to
Byte.MAX_VALUE-1 => same as short value, Byte.MIN_VALUE+1 => readShort().
This method is suitable for reading the bytes written by the writeCompactShort
method of interface
RandomDataOutput
.
int readCompactUnsignedShort()
short
value. Let a
be the first byte read.
This mapped as follows; -1 => readUnsignedShort(), default => (a & 0xFF)
This method is suitable for reading the bytes written by the writeCompactUnsignedShort
method of
interface RandomDataOutput
.
char readChar()
char
value. Let a
be the first byte read and
b
be the second byte on big endian machines, and the opposite on little endian machines. The value
returned is:
(char)((a << 8) | (b & 0xff))
This method is suitable for reading bytes written by the writeChar
method of interface
DataOutput
.char readChar(long offset)
char
value. Let a
be the first byte read and
b
be the second byte on big endian machines, and the opposite on little endian machines. The value
returned is:
(char)((a << 8) | (b & 0xff))
This method is suitable for reading bytes written by the writeChar
method of interface
RandomDataOutput
.offset
- of the char to read.char
value read.int readInt24()
int
value. Let a-c
be the first through
third bytes read on big endian machines, and the opposite on little endian machines. The value returned is:
((((a & 0xff) << 24) | ((b & 0xff) << 16) | ((c & 0xff) << 8))) >> 8
This method is suitable for reading bytes written by the writeInt24
method of interface
RandomDataOutput
.int
value read.int readInt24(long offset)
int
value. Let a-c
be the first through
third bytes read on big endian machines, and the opposite on little endian machines. The value returned is:
((((a & 0xff) << 24) | ((b & 0xff) << 16) | ((c & 0xff) << 8))) >> 8
This method is suitable for reading bytes written by the writeInt24
method of interface
RandomDataOutput
.offset
- to read fromint
value read.int readInt()
int
value. Let a-d
be the first through fourth
bytes read on big endian machines, and the opposite on little endian machines. The value returned is:
(((a & 0xff) << 24) | ((b & 0xff) << 16) | ((c & 0xff) << 8) | (d & 0xff))
This method is suitable for reading bytes written by the writeInt
method of interface
DataOutput
.int readInt(long offset)
int
value. Let a-d
be the first through fourth
bytes read on big endian machines, and the opposite on little endian machines. The value returned is:
(((a & 0xff) << 24) | ((b & 0xff) << 16) | ((c & 0xff) << 8) | (d & 0xff))
This method is suitable for reading bytes written by the writeInt
method of interface
RandomDataOutput
.offset
- to read fromint
value read.int readVolatileInt()
Reads four input bytes and returns
an int
value. Let a-d
be the first through fourth bytes read on big endian machines,
and the opposite on little endian machines. The value returned is:
(((a & 0xff) << 24) | ((b & 0xff) << 16) | ((c & 0xff) << 8) | (d & 0xff))
This method is suitable for reading bytes written by the writeOrderedInt
or
writeVolatileInt
method of interface RandomDataOutput
.int
value read.int readVolatileInt(long offset)
Reads four input bytes and returns
an int
value. Let a-d
be the first through fourth bytes read on big endian machines,
and the opposite on little endian machines. The value returned is:
(((a & 0xff) << 24) | ((b & 0xff) << 16) | ((c & 0xff) << 8) | (d & 0xff))
This method is suitable for reading bytes written by the writeOrderedInt
or
writeVolatileInt
method of interface RandomDataOutput
.offset
- to read fromint
value read.long readUnsignedInt()
int
value. Let a-d
be the first through fourth
bytes read on big endian machines, and the opposite on little endian machines. The value returned is:
((((long) a & 0xff) << 24) | ((b & 0xff) << 16) | ((c & 0xff) << 8) | (d &
0xff))
This method is suitable for reading bytes written by the writeUnsignedInt
method of interface
RandomDataOutput
.int
value read.long readUnsignedInt(long offset)
int
value. Let a-d
be the first through fourth
bytes read on big endian machines, and the opposite on little endian machines. The value returned is:
((((long) a & 0xff) << 24) | ((b & 0xff) << 16) | ((c & 0xff) << 8) | (d &
0xff))
This method is suitable for reading bytes written by the writeUnsignedInt
method of interface
RandomDataOutput
.offset
- to read fromint
value read.int readCompactInt()
int
value. Let a
be the first short read
with readShort(). This mapped as follows; Short.MIN_VALUE => Integer.MIN_VALUE, Short.MAX_VALUE =>
Integer.MAX_VALUE, Short.MIN_VALUE+2 to Short.MAX_VALUE-1 => same as short value, Short.MIN_VALUE+1 =>
readInt().
This method is suitable for reading the bytes written by the writeCompactInt
method of interface
RandomDataOutput
.
long readCompactUnsignedInt()
int
value. Let a
be the first short read
with readShort(). This mapped as follows; -1 => readUnsignedInt(), default => (a & 0xFFFF)
This method is suitable for reading the bytes written by the writeCompactUnsignedInt
method of
interface RandomDataOutput
.
long readLong()
long
value. Let a-h
be the first through eighth
bytes read on big endian machines, and the opposite on little endian machines. The value returned is:
(((long)(a & 0xff) << 56) |
((long)(b & 0xff) << 48) |
((long)(c & 0xff) << 40) |
((long)(d & 0xff) << 32) |
((long)(e & 0xff) << 24) |
((long)(f & 0xff) << 16) |
((long)(g & 0xff) << 8) |
((long)(h & 0xff)))
This method is suitable for reading bytes written by the writeLong
method of interface
DataOutput
.
long readIncompleteLong(long offset)
offset
- baselong readLong(long offset)
long
value. Let a-h
be the first through eighth
bytes read on big endian machines, and the opposite on little endian machines. The value returned is:
(((long)(a & 0xff) << 56) |
((long)(b & 0xff) << 48) |
((long)(c & 0xff) << 40) |
((long)(d & 0xff) << 32) |
((long)(e & 0xff) << 24) |
((long)(f & 0xff) << 16) |
((long)(g & 0xff) << 8) |
((long)(h & 0xff)))
This method is suitable for reading bytes written by the writeLong
method of interface
RandomDataOutput
.
offset
- of the long to readlong
value read.long readVolatileLong()
Reads eight input bytes and returns a long
value. Let a-h
be the first through eighth
bytes read on big endian machines, and the opposite on little endian machines. The value returned is:
(((long)(a & 0xff) << 56) |
((long)(b & 0xff) << 48) |
((long)(c & 0xff) << 40) |
((long)(d & 0xff) << 32) |
((long)(e & 0xff) << 24) |
((long)(f & 0xff) << 16) |
((long)(g & 0xff) << 8) |
((long)(h & 0xff)))
This method is suitable for reading bytes written by the writeOrderedLong
or
writeVolatileLong
method of interface RandomDataOutput
.
long
value read.long readVolatileLong(long offset)
Reads eight input bytes and returns a long
value. Let a-h
be the first through eighth
bytes read on big endian machines, and the opposite on little endian machines. The value returned is:
(((long)(a & 0xff) << 56) |
((long)(b & 0xff) << 48) |
((long)(c & 0xff) << 40) |
((long)(d & 0xff) << 32) |
((long)(e & 0xff) << 24) |
((long)(f & 0xff) << 16) |
((long)(g & 0xff) << 8) |
((long)(h & 0xff)))
This method is suitable for reading bytes written by the writeOrderedLong
or
writeVolatileLong
method of interface RandomDataOutput
.
offset
- of the long to readlong
value read.long readInt48()
long
value. Let a-f
be the first through sixth
bytes read on big endian machines, and the opposite on little endian machines. The value returned is:
(((long)(a & 0xff) << 56) |
((long)(b & 0xff) << 48) |
((long)(c & 0xff) << 40) |
((long)(d & 0xff) << 32) |
((long)(e & 0xff) << 24) |
((long)(f & 0xff) << 16)) >> 16
This method is suitable for reading bytes written by the writeInt48
method of interface
RandomDataOutput
.
long
value read.long readInt48(long offset)
long
value. Let a-f
be the first through sixth
bytes read on big endian machines, and the opposite on little endian machines. The value returned is:
(((long)(a & 0xff) << 56) |
((long)(b & 0xff) << 48) |
((long)(c & 0xff) << 40) |
((long)(d & 0xff) << 32) |
((long)(e & 0xff) << 24) |
((long)(f & 0xff) << 16)) >> 16
This method is suitable for reading bytes written by the writeInt48
method of interface
RandomDataOutput
.
offset
- of the long to readlong
value read.long readCompactLong()
long
value. Let a
be the first int read
with readInt(). This mapped as follows; Integer.MIN_VALUE => Long.MIN_VALUE, Integer.MAX_VALUE => Long.MAX_VALUE,
Integer.MIN_VALUE+2 to Integer.MAX_VALUE-1 => same as short value, Integer.MIN_VALUE+1 => readLong().
This method is suitable for reading the bytes written by the writeCompactLong
method of interface
RandomDataOutput
.
long readStopBit()
long l = 0, b;
int count = 0;
while ((b = readByte()) < 0) {
l |= (b & 0x7FL) << count;
count += 7;
}
if (b == 0 && count > 0)
return ~l;
return l | (b << count);
float readFloat()
float
value. It does this by first constructing an
int
value in exactly the manner of the readInt
method, then converting this
int
value to a float
in exactly the manner of the method
Float.intBitsToFloat
. This method is suitable for reading bytes written by the
writeFloat
method of interface DataOutput
.float readFloat(long offset)
float
value. It does this by first constructing an
int
value in exactly the manner of the readInt
method, then converting this
int
value to a float
in exactly the manner of the method
Float.intBitsToFloat
. This method is suitable for reading bytes written by the
writeFloat
method of interface DataOutput
.offset
- to read fromfloat
value read.float readVolatileFloat(long offset)
Reads four input bytes and returns
a float
value.
This method is suitable for reading bytes written by the writeOrderedFloat
method of interface RandomDataOutput
.
offset
- to read fromint
value read.double readDouble()
double
value. It does this by first constructing a
long
value in exactly the manner of the readLong
method, then converting this
long
value to a double
in exactly the manner of the method
Double.longBitsToDouble
. This method is suitable for reading bytes written by the
writeDouble
method of interface DataOutput
.readDouble
in interface DataInput
double
value read.double readDouble(long offset)
double
value. It does this by first constructing a
long
value in exactly the manner of the readLong
method, then converting this
long
value to a double
in exactly the manner of the method
Double.longBitsToDouble
. This method is suitable for reading bytes written by the
writeDouble
method of interface DataOutput
.offset
- to read fromdouble
value read.double readCompactDouble()
double
value read.double readVolatileDouble(long offset)
Reads four input bytes and returns
a float
value.
This method is suitable for reading bytes written by the writeOrderedFloat
method of interface RandomDataOutput
.
offset
- to read fromint
value read.@Nullable String readLine()
String
. Note that because this method processes bytes, it does not support input of the full
Unicode character set.
If end of file is encountered before even one byte can be read, then null
is returned. Otherwise,
each byte that is read is converted to type char
by zero-extension. If the character
'\n'
is encountered, it is discarded and reading ceases. If the character '\r'
is
encountered, it is discarded and, if the following byte converts to the character '\n'
, then
that is discarded also; reading then ceases. If end of file is encountered before either of the characters
'\n'
and '\r'
is encountered, reading ceases. Once reading has ceased, a
String
is returned that contains all the characters read and not discarded, taken in order. Note
that every character in this string will have a value less than \u0100
, that is,
(char)256
.
@NotNull String readUTF()
readUTF
is that it reads a representation of a Unicode character string encoded in
modified UTF-8 format; this string of characters is then returned as a String
.
First, two bytes are read and used to construct an unsigned 16-bit integer in exactly the manner of the
readUnsignedShort
method . This integer value is called the UTF length and specifies the
number of additional bytes to be read. These bytes are then converted to characters by considering them in
groups. The length of each group is computed from the value of the first byte of the group. The byte following a
group, if any, is the first byte of the next group.
If the first byte of a group matches the bit pattern 0xxxxxxx
(where x
means "may be
0
or 1
"), then the group consists of just that byte. The byte is zero-extended to form
a character.
If the first byte of a group matches the bit pattern 110xxxxx
, then the group consists of that byte
a
and a second byte b
. If there is no byte b
(because byte a
was the last of the bytes to be read), or if byte b
does not match the bit pattern
10xxxxxx
, then a UTFDataFormatException
is thrown. Otherwise, the group is converted to
the character:
(char)(((a& 0x1F) << 6) | (b & 0x3F))
If the first byte of a group matches the bit pattern 1110xxxx
, then the group consists of that byte
a
and two more bytes b
and c
. If there is no byte c
(because
byte a
was one of the last two of the bytes to be read), or either byte b
or byte
c
does not match the bit pattern 10xxxxxx
, then a UTFDataFormatException
is thrown. Otherwise, the group is converted to the character:
(char)(((a & 0x0F) << 12) | ((b & 0x3F) << 6) | (c & 0x3F))
If the first byte of a group matches the pattern 1111xxxx
or the pattern 10xxxxxx
, then
a UTFDataFormatException
is thrown.
If end of file is encountered at any time during this entire process, then an EOFException
is
thrown.
After every group has been converted to a character by this process, the characters are gathered, in the same
order in which their corresponding groups were read from the input stream, to form a String
, which
is returned.
The writeUTF
method of interface DataOutput
may be used to write data that is suitable
for reading by this method.
readUTF
in interface DataInput
IllegalStateException
- if the bytes do not represent a valid modified UTF-8 encoding of a string.@Nullable String readUTFΔ()
null
values are also supportednull
if writeUTFΔ(null)
was called@Nullable String readUTFΔ(long offset) throws IllegalStateException
offset
- to read fromnull
if writeUTFΔ(null)
was calledIllegalStateException
- if the length to be read is out of range.boolean readUTFΔ(@NotNull StringBuilder stringBuilder)
stringBuilder
- to copy chars totrue
if there was a String, or false
if it was null
boolean read8bitText(@NotNull StringBuilder stringBuilder) throws StreamCorruptedException
StreamCorruptedException
void read(@NotNull ByteBuffer bb)
remaining()
in the ByteBuffer or the
Excerpt.bb
- to copy intovoid read(@NotNull ByteBuffer bb, int length)
bb
- to copy intolength
- number of bytes to copy@Nullable <E> E readEnum(@NotNull Class<E> eClass)
readUTFΔ
which is converted to an enumerable type. i.e. where there is a one to
one mapping between an object and it's toString().
This is suitable to read an object written using writeEnum()
in the RandomDataOutput
interface
E
- the enum classeClass
- to decode the String asnull
with be return if null was written.<E> void readList(@NotNull Collection<E> list, @NotNull Class<E> eClass)
This is suitable to reading a list written using writeList()
in the RandomDataOutput
interface
E
- the list element classeClass
- the list element classlist
- to populate<K,V> Map<K,V> readMap(@NotNull Map<K,V> map, @NotNull Class<K> kClass, @NotNull Class<V> vClass)
This is suitable to reading a list written using writeMap()
in the RandomDataOutput
interface
K
- the map key classV
- the map value classkClass
- the map key classvClass
- the map value classmap
- to populate@Nullable Object readObject() throws IllegalStateException
readObject
in interface ObjectInput
IllegalStateException
- the class of a serialized object cannot be found or any of the usual Input/Output
related exceptions occur.@Nullable <T> T readObject(Class<T> tClass) throws IllegalStateException
T
- the class of the object to readtClass
- the class of the object to readIllegalStateException
- the class of a serialized object cannot be found or any of the usual Input/Output
related exceptions occur.ClassCastException
- The class cannot be cast or converted to the type given.@Nullable <T> T readInstance(@NotNull Class<T> objClass, T obj)
T
- the class of the object to readobjClass
- class to writeobj
- to reuse or null if a new object is neededint read()
read
in interface ObjectInput
int read(@NotNull byte[] bytes)
read
in interface ObjectInput
bytes
- the buffer into which the data is readint read(@NotNull byte[] bytes, int off, int len)
read
in interface ObjectInput
bytes
- the buffer into which the data is readoff
- the start offset of the datalen
- the maximum number of bytes readvoid readObject(Object object, int start, int end)
object
- to read intostart
- byte inclusiveend
- byte exclusivelong skip(long n)
skip
in interface ObjectInput
n
- the number of bytes to be skippedint available()
available
in interface ObjectInput
void close()
close
in interface AutoCloseable
close
in interface ObjectInput
boolean startsWith(RandomDataInput input)
boolean compare(long offset, RandomDataInput input, long inputOffset, long len)
<E> E readEnum(long offset, int maxSize, Class<E> eClass)
long nextSetBit(long fromIndex)
fromIndex
- first bit to scan.Copyright © 2019. All rights reserved.