java.lang.Object | ||
↳ | java.io.InputStream | |
↳ | java.io.ByteArrayInputStream |
A ByteArrayInputStream
contains an internal buffer that contains
bytes that may be read from the stream. An internal counter keeps track of
the next byte to be supplied by the read
method.
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
protected byte[] | buf | 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 | mark | The currently marked position in the stream. | |||||||||
protected int | pos | The index of the next character to read from the input stream buffer. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ByteArrayInputStream(byte[] buf)
Creates a
ByteArrayInputStream so that it uses buf
as its buffer array. | |||||||||||
ByteArrayInputStream(byte[] buf, int offset, int length)
Creates
ByteArrayInputStream that uses buf as its
buffer array. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
synchronized int |
available()
Returns the number of bytes that can be read from this input stream without
blocking.
| ||||||||||
synchronized void |
close()
Closes this input stream and releases any system resources associated with
the stream.
| ||||||||||
void |
mark(int readAheadLimit)
Set the current marked position in the stream.
| ||||||||||
boolean |
markSupported()
Tests if ByteArrayInputStream supports mark/reset.
| ||||||||||
synchronized int |
read()
Reads the next byte of data from this input stream.
| ||||||||||
synchronized int |
read(byte[] b, int off, int len)
Reads up to
len bytes of data into an array of bytes from this
input stream. | ||||||||||
synchronized void |
reset()
Resets the buffer to the marked position.
| ||||||||||
synchronized long |
skip(long n)
Skips
n bytes of input from this input stream. |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() |
An array of bytes that was provided by the creator of the stream. Elements
buf[0]
through buf[count-1]
are the only bytes that
can ever be read from the stream; element buf[pos]
is the next
byte to be read.
The index one greater than the last valid character in the input stream
buffer. This value should always be nonnegative and not larger than the
length of buf
. It is one greater than the position of the last
byte within buf
that can ever be read from the input stream
buffer.
The currently marked position in the stream. ByteArrayInputStream objects are
marked at position zero by default when constructed. They may be marked at
another position within the buffer by the mark()
method. The
current buffer position is set to this point by the reset()
method.
The index of the next character to read from the input stream buffer. This
value should always be nonnegative and not larger than the value of
count
. The next byte to be read from the input stream buffer
will be buf[pos]
.
Creates a ByteArrayInputStream
so that it uses buf
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 buf
.
buf | the input buffer. |
---|
Creates ByteArrayInputStream
that uses buf
as its
buffer array. The initial value of pos
is offset
and the initial value of count
is offset+length
.
The buffer array is not copied.
Note that if bytes are simply read from the resulting input stream, elements
buf[pos]
through buf[pos+len-1]
will be read;
however, if a reset
operation is performed, then bytes
buf[0]
through buf[pos-1]
will then become
available for input.
buf | the input buffer. |
---|---|
offset | the offset in the buffer of the first byte to read. |
length | the maximum number of bytes to read from the buffer. |
Returns the number of bytes that can be read from this input stream without
blocking. The value returned is count - pos
, which is the
number of bytes remaining to be read from the input buffer.
Closes this input stream and releases any system resources associated with the stream.
IOException |
---|
Set the current marked position in the stream. ByteArrayInputStream objects are marked at position zero by default when constructed. They may be marked at another position within the buffer by this method.
readAheadLimit | the maximum limit of bytes that can be read before the mark position becomes invalid. |
---|
Tests if ByteArrayInputStream supports mark/reset.
true
if this true type supports the mark and reset
method; false
otherwise.Reads the next byte of data from this input stream. The value byte is
returned as an 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.
-1
if the end of the stream
has been reached.
Reads up to 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
buf[pos]
through buf[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.
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.
Resets the buffer to the marked position. The marked position is the
beginning unless another position was marked. The value of pos
is set to 0.
Skips 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.
n | the number of bytes to be skipped. |
---|