|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.io.InputStream | +--com.sun.media.jai.codec.SeekableStream | +--com.sun.media.jai.codec.ByteArraySeekableStream
A subclass of SeekableStream
that takes input from an
array of bytes. Seeking backwards is supported. The
mark()
and resest()
methods are
supported.
This class is not a committed part of the JAI API. It may be removed or changed in future releases of JAI.
Fields inherited from class com.sun.media.jai.codec.SeekableStream |
markPos |
Constructor Summary | |
ByteArraySeekableStream(byte[] src)
Constructs a ByteArraySeekableStream taking
input from an entire input byte array. |
|
ByteArraySeekableStream(byte[] src,
int offset,
int length)
Constructs a ByteArraySeekableStream taking
input from a given segment of an input byte array. |
Method Summary | |
int |
available()
Returns the number of bytes that can be read from this input stream without blocking. |
boolean |
canSeekBackwards()
Returns true since this object supports seeking
backwards. |
void |
close()
Does nothing. |
long |
getFilePointer()
Returns the current offset in this stream. |
long |
length()
Returns the number of valid bytes in the input array. |
int |
read()
Reads the next byte of data from the input array. |
int |
read(byte[] b,
int off,
int len)
Copies up to len bytes of data from the input array into
an array of bytes. |
void |
seek(long pos)
Sets the offset, measured from the beginning of this stream, at which the next read occurs. |
int |
skipBytes(int n)
Attempts to skip over n bytes of input discarding the
skipped bytes. |
Methods inherited from class com.sun.media.jai.codec.SeekableStream |
finalize, mark, markSupported, readBoolean, readByte, readChar, readCharLE, readDouble, readDoubleLE, readFloat, readFloatLE, readFully, readFully, readInt, readIntLE, readLine, readLong, readLongLE, readShort, readShortLE, readUnsignedByte, readUnsignedInt, readUnsignedIntLE, readUnsignedShort, readUnsignedShortLE, readUTF, reset, wrapInputStream |
Methods inherited from class java.io.InputStream |
read, skip |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ByteArraySeekableStream(byte[] src, int offset, int length) throws IOException
ByteArraySeekableStream
taking
input from a given segment of an input byte
array.public ByteArraySeekableStream(byte[] src) throws IOException
ByteArraySeekableStream
taking
input from an entire input byte
array.Method Detail |
public int available()
Math.min(offset + length, src.length) - pos
,
which is the number of bytes remaining to be read from the input buffer.available
in class InputStream
public boolean canSeekBackwards()
true
since this object supports seeking
backwards.canSeekBackwards
in class SeekableStream
public long getFilePointer()
getFilePointer
in class SeekableStream
public void seek(long pos)
seek
in class SeekableStream
pos
- the offset position, measured in bytes from the
beginning of the stream, at which to set the stream
pointer.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.read
in class SeekableStream
com.sun.media.jai.codec.SeekableStream
-1
if the end of the
stream is reached.IOException
- if an I/O error occurs.public int read(byte[] b, int off, int len)
len
bytes of data from the input array into
an array of bytes. An attempt is made to copy as many as
len
bytes, but a smaller number may be copied, possibly
zero. The number of bytes actually copied is returned as an integer.
If b
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
b
, then an IndexOutOfBoundsException
is
thrown.
If len
is zero, then no bytes are copied and
0
is returned; otherwise, there is an attempt to copy at
least one byte. If no byte is available because the stream is at end of
stream, the value -1
is returned; otherwise, at least one
byte is copied into b
.
The first byte copied is stored into element
b[off]
, the next one into b[off+1]
,
and so on. The number of bytes copied is, at most, equal to
len
. Let k be the number of bytes actually
copied; these bytes will be stored in elements
b[off]
through
b[off+
k-1]
, leaving elements
b[off+
k]
through
b[off+len-1]
unaffected.
In every case, elements b[0]
through
b[off]
and elements b[off+len]
through
b[b.length-1]
are unaffected.
read
in class SeekableStream
b
- the buffer into which the data is copied.off
- the start offset in array b
at which the data is written.len
- the maximum number of bytes to copy.-1
if there is no more data because the end of
the stream has been reached.public int skipBytes(int n)
n
bytes of input discarding the
skipped bytes.
This method may skip over some smaller number of bytes, possibly zero.
This may result from any of a number of conditions; reaching end of
stream before n
bytes have been skipped is only one
possibility. This method never throws an EOFException
.
The actual number of bytes skipped is returned. If n
is negative, no bytes are skipped.
skipBytes
in class SeekableStream
n
- the number of bytes to be skipped.public void close()
close
in class InputStream
public long length()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |