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.
Closing a ByteArrayInputStream
has no effect. The methods in
this class can be called after the stream has been closed without
generating an IOException
.
java.io.StringBufferInputStream
Modifier and Type | Field and Description |
---|---|
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 byte in the input stream buffer. |
protected int | mark
The currently marked position in the stream. |
private static final int | |
protected int | pos
The index of the next byte to read from the input stream buffer. |
Access | Constructor and Description |
---|---|
public | ByteArrayInputStream(byte[]
the input buffer. buf)Creates a |
public | ByteArrayInputStream(byte[]
the input buffer. buf, int the offset in the buffer of the first byte to read. offset, int the maximum number of bytes to read from the buffer. length)Creates |
Modifier and Type | Method and Description |
---|---|
public synchronized int | Returns: the number of remaining bytes that can be read (or skipped over) from this input stream without blocking.Overrides java. Returns the number of remaining bytes that can be read (or skipped over) from this input stream. |
public void | close()
Overrides java. Implements java. Closing a |
public void | mark(int
the maximum limit of bytes that can be read before
the mark position becomes invalid. readAheadLimit)Overrides java. Set the current marked position in the stream. |
public boolean | Returns: trueOverrides java. Tests if this |
public synchronized int | Returns: the next byte of data, or-1 if the end of the
stream is reached.Implements abstract java. Reads the next byte of data from this input stream. |
public synchronized int | Returns: the total number of bytes read into the buffer, or-1 if there is no more data because the end of
the stream has been reached.the buffer into which the data is read. b, int the start offset in array off, int b
at which the data is written.the maximum number of bytes to read. len)Overrides java. Reads up to |
public synchronized byte[] | readAllBytes()
Overrides java. Reads all remaining bytes from the input stream. |
public int | readNBytes(byte[]
the byte array into which the data is read b, int the start offset in off, int b at which the data is writtenthe maximum number of bytes to read len)Overrides java. Reads the requested number of bytes from the input stream into the given byte array. |
public synchronized void | |
public synchronized long | Returns: the actual number of bytes skipped.the number of bytes to be skipped. n)Overrides java. Skips |
public synchronized long | transferTo(OutputStream
the output stream, non-null out)Overrides java. Reads all bytes from this input stream and writes the bytes to the given output stream in the order that they are read. |
buf | back to summary |
---|---|
protected byte[] buf An array of bytes that was provided
by the creator of the stream. Elements |
count | back to summary |
---|---|
protected int count The index one greater than the last valid byte in the input
stream buffer.
This value should always be nonnegative
and not larger than the length of |
mark | back to summary |
---|---|
protected int mark 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 If no mark has been set, then the value of mark is the offset passed to the constructor (or 0 if the offset was not supplied).
|
MAX_TRANSFER_SIZE | back to summary |
---|---|
private static final int MAX_TRANSFER_SIZE |
pos | back to summary |
---|---|
protected int pos The index of the next byte to read from the input stream buffer.
This value should always be nonnegative
and not larger than the value of |
ByteArrayInputStream | back to summary |
---|---|
public ByteArrayInputStream(byte[] buf) Creates a
|
ByteArrayInputStream | back to summary |
---|---|
public ByteArrayInputStream(byte[] buf, int offset, int length) Creates
|
available | back to summary |
---|---|
public synchronized int available() Overrides java. Returns the number of remaining bytes that can be read (or skipped over) from this input stream.
The value returned is
|
close | back to summary |
---|---|
public void close() throws IOException Overrides java. Implements java. Closing a
|
mark | back to summary |
---|---|
public void mark(int readAheadLimit) Overrides java. 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. If no mark has been set, then the value of the mark is the offset passed to the constructor (or 0 if the offset was not supplied). Note The
|
markSupported | back to summary |
---|---|
public boolean markSupported() Overrides java. Tests if this Implementation Specification The
|
read | back to summary |
---|---|
public synchronized int read() Implements abstract java. Reads the next byte of data from this input stream. The value
byte is returned as an
This
|
read | back to summary |
---|---|
public synchronized int read(byte[] b, int off, int len) Overrides java. Reads up to
Unlike the
This
|
readAllBytes | back to summary |
---|---|
public synchronized byte[] readAllBytes() Overrides java. Doc from java. Reads all remaining bytes from the input stream. This method blocks until all remaining bytes have been read and end of stream is detected, or an exception is thrown. This method does not close the input stream. When this stream reaches end of stream, further invocations of this method will return an empty byte array. Note that this method is intended for simple cases where it is convenient to read all bytes into a byte array. It is not intended for reading input streams with large amounts of data. The behavior for the case where the input stream is asynchronously closed, or the thread interrupted during the read, is highly input stream specific, and therefore not specified. If an I/O error occurs reading from the input stream, then it may do so after some, but not all, bytes have been read. Consequently the input stream may not be at end of stream and may be in an inconsistent state. It is strongly recommended that the stream be promptly closed if an I/O error occurs.
|
readNBytes | back to summary |
---|---|
public int readNBytes(byte[] b, int off, int len) Overrides java. Doc from java. Reads the requested number of bytes from the input stream into the given
byte array. This method blocks until In the case where end of stream is reached before If The first byte read is stored into element The behavior for the case where the input stream is asynchronously closed, or the thread interrupted during the read, is highly input stream specific, and therefore not specified. If an I/O error occurs reading from the input stream, then it may do
so after some, but not all, bytes of
|
reset | back to summary |
---|---|
public synchronized void reset() Overrides java. Resets the buffer to the marked position. The marked position is 0 unless another position was marked or an offset was specified in the constructor.
|
skip | back to summary |
---|---|
public synchronized long skip(long n) Overrides java. Skips
|
transferTo | back to summary |
---|---|
public synchronized long transferTo(OutputStream out) throws IOException Overrides java. Doc from java. Reads all bytes from this input stream and writes the bytes to the given output stream in the order that they are read. On return, this input stream will be at end of stream. This method does not close either stream. This method may block indefinitely reading from the input stream, or writing to the output stream. The behavior for the case where the input and/or output stream is asynchronously closed, or the thread interrupted during the transfer, is highly input and output stream specific, and therefore not specified.
If the total number of bytes transferred is greater than Long#MAX_VALUE, then If an I/O error occurs reading from the input stream or writing to the output stream, then it may do so after some bytes have been read or written. Consequently the input stream may not be at end of stream and one, or both, streams may be in an inconsistent state. It is strongly recommended that both streams be promptly closed if an I/O error occurs.
|