public class OptimizedByteArrayInputStream extends InputStream
Modifier and Type | Field and Description |
---|---|
protected byte[] |
_buffer
An array of bytes that was provided
by the creator of the stream.
|
protected int |
_count
The index one greater than the last valid character in the input
stream buffer.
|
protected int |
_position
The index of the next character to read from the input stream buffer.
|
Constructor and Description |
---|
OptimizedByteArrayInputStream(byte[] buffer)
Creates a
ByteArrayInputStream
so that it uses buffer as its
buffer array. |
Modifier and Type | Method and Description |
---|---|
int |
available()
Returns the number of bytes that can be read from this input
stream without blocking.
|
int |
read()
Reads the next byte of data from this input stream.
|
int |
read(byte[] b,
int off,
int len)
Reads up to
len bytes of data into an array of bytes
from this input stream. |
byte |
readByte() |
int |
readUnsignedByte() |
void |
setBuffer(byte[] buffer)
Sets a
GSByteArrayInputStream
so that it uses buffer as its
buffer array. |
long |
skip(long n)
Skips
n bytes of input from this input stream. |
close, mark, markSupported, read, reset
protected byte[] _buffer
buf[0]
through buffer[count-1]
are the
only bytes that can ever be read from the
stream; element buffer[pos]
is
the next byte to be read.protected int _position
count
.
The next byte to be read from the input stream buffer
will be buffer[position]
.protected int _count
buffer
.
It is one greater than the position of
the last byte within buffer
that
can ever be read from the input stream buffer.public OptimizedByteArrayInputStream(byte[] buffer)
ByteArrayInputStream
so that it uses buffer
as its
buffer array.
The buffer array is not copied.
The initial value of pos
is 0
and the initial value
of count
is the length of
buffer
.buffer
- the input buffer.public void setBuffer(byte[] buffer)
GSByteArrayInputStream
so that it uses buffer
as its
buffer array.
The buffer array is not copied.
The initial value of pos
is 0
and the initial value
of count
is the length of
buffer
.buffer
- the input buffer.public int read()
int
in the range
0
to 255
. If no byte is available
because the end of the stream has been reached, the value
-1
is returned.
This read
method
cannot block.
read
in class InputStream
-1
if the end of the
stream has been reached.public byte readByte()
public int readUnsignedByte()
public int read(byte[] b, int off, int len)
len
bytes of data into an array of bytes
from this input stream.
If pos
equals count
,
then -1
is returned to indicate
end of file. Otherwise, the number k
of bytes read is equal to the smaller of
len
and count-pos
.
If k
is positive, then bytes
buffer[pos]
through buffer[pos+k-1]
are copied into b[off]
through
b[off+k-1]
in the manner performed
by System.arraycopy
. The
value k
is added into pos
and k
is returned.
This read
method cannot block.
read
in class InputStream
b
- the buffer into which the data is read.off
- the start offset of the data.len
- the maximum number of bytes read.-1
if there is no more data because the end of
the stream has been reached.public long skip(long n)
n
bytes of input from this input stream. Fewer
bytes might be skipped if the end of the input stream is reached.
The actual number k
of bytes to be skipped is equal to the smaller
of n
and count-pos
.
The value k
is added into pos
and k
is returned.skip
in class InputStream
n
- the number of bytes to be skipped.public int available()
count - pos
,
which is the number of bytes remaining to be read from the input buffer.available
in class InputStream
Copyright © GigaSpaces.