|
|||||||||
| 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 InputStreampublic boolean canSeekBackwards()
true since this object supports seeking
backwards.canSeekBackwards in class SeekableStreampublic long getFilePointer()
getFilePointer in class SeekableStreampublic void seek(long pos)
seek in class SeekableStreampos - 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 SeekableStreamcom.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 SeekableStreamb - 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 SeekableStreamn - the number of bytes to be skipped.public void close()
close in class InputStreampublic long length()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||