Android APIs
public class

ByteArrayInputStream

extends InputStream
java.lang.Object
   ↳ java.io.InputStream
     ↳ java.io.ByteArrayInputStream

Class Overview

A specialized InputStream for reading the contents of a byte array.

Summary

Fields
protected byte[] buf The byte array containing the bytes to stream over.
protected int count The total number of bytes initially available in the byte array buf.
protected int mark The current mark position.
protected int pos The current position within the byte array.
Public Constructors
ByteArrayInputStream(byte[] buf)
Constructs a new ByteArrayInputStream on the byte array buf.
ByteArrayInputStream(byte[] buf, int offset, int length)
Constructs a new ByteArrayInputStream on the byte array buf with the initial position set to offset and the number of bytes available set to offset + length.
Public Methods
int available()
Returns the number of remaining bytes.
void close()
Closes this stream and frees resources associated with this stream.
void mark(int readlimit)
Sets a mark position in this ByteArrayInputStream.
boolean markSupported()
Indicates whether this stream supports the mark() and reset() methods.
int read()
Reads a single byte from the source byte array and returns it as an integer in the range from 0 to 255.
int read(byte[] buffer, int byteOffset, int byteCount)
Reads up to byteCount bytes from this stream and stores them in the byte array buffer starting at byteOffset.
void reset()
Resets this stream to the last marked location.
long skip(long byteCount)
Skips byteCount bytes in this InputStream.
[Expand]
Inherited Methods
From class java.io.InputStream
From class java.lang.Object
From interface java.io.Closeable
From interface java.lang.AutoCloseable

Fields

protected byte[] buf

Added in API level 1

The byte array containing the bytes to stream over.

protected int count

Added in API level 1

The total number of bytes initially available in the byte array buf.

protected int mark

Added in API level 1

The current mark position. Initially set to 0 or the offset parameter within the constructor.

protected int pos

Added in API level 1

The current position within the byte array.

Public Constructors

public ByteArrayInputStream (byte[] buf)

Added in API level 1

Constructs a new ByteArrayInputStream on the byte array buf.

Parameters
buf byte: the byte array to stream over.

public ByteArrayInputStream (byte[] buf, int offset, int length)

Added in API level 1

Constructs a new ByteArrayInputStream on the byte array buf with the initial position set to offset and the number of bytes available set to offset + length.

Parameters
buf byte: the byte array to stream over.
offset int: the initial position in buf to start streaming from.
length int: the number of bytes available for streaming.

Public Methods

public int available ()

Added in API level 1

Returns the number of remaining bytes.

Returns
int count - pos

public void close ()

Added in API level 1

Closes this stream and frees resources associated with this stream.

Throws
IOException if an I/O error occurs while closing this stream.

public void mark (int readlimit)

Added in API level 1

Sets a mark position in this ByteArrayInputStream. The parameter readlimit is ignored. Sending reset() will reposition the stream back to the marked position.

Parameters
readlimit int: ignored.

public boolean markSupported ()

Added in API level 1

Indicates whether this stream supports the mark() and reset() methods. Returns true since this class supports these methods.

Returns
boolean always true.

See also:

public int read ()

Added in API level 1

Reads a single byte from the source byte array and returns it as an integer in the range from 0 to 255. Returns -1 if the end of the source array has been reached.

Returns
int the byte read or -1 if the end of this stream has been reached.

public int read (byte[] buffer, int byteOffset, int byteCount)

Added in API level 1

Reads up to byteCount bytes from this stream and stores them in the byte array buffer starting at byteOffset. Returns the number of bytes actually read or -1 if the end of the stream has been reached.

Parameters
buffer byte
byteOffset int
byteCount int
Returns
int

public void reset ()

Added in API level 1

Resets this stream to the last marked location. This implementation resets the position to either the marked position, the start position supplied in the constructor or 0 if neither has been provided.

See also:

public long skip (long byteCount)

Added in API level 1

Skips byteCount bytes in this InputStream. Subsequent calls to read will not return these bytes unless reset is used. This implementation skips byteCount number of bytes in the target stream. It does nothing and returns 0 if byteCount is negative.

Parameters
byteCount long
Returns
long the number of bytes actually skipped.