|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.imageio.stream.ImageInputStreamImpl | +--javax.imageio.stream.ImageOutputStreamImpl | +--javax.imageio.stream.MemoryCacheImageOutputStream
An implementation of ImageOutputStream
that writes its
output to a regular OutputStream
. A memory buffer is
used to cache at least the data between the discard position and
the current write position. The only constructor takes an
OutputStream
, so this class may not be used for
read/modify/write operations. Reading can occur only on parts of
the stream that have already been written to the cache and not
yet flushed.
Field Summary |
Fields inherited from class javax.imageio.stream.ImageInputStreamImpl |
bitOffset, byteOrder, flushedPos, streamPos |
Constructor Summary | |
MemoryCacheImageOutputStream(OutputStream stream)
Constructs a MemoryCacheImageOutputStream that will write
to a given OutputStream . |
Method Summary | |
void |
close()
Closes this MemoryCacheImageOutputStream . |
void |
flushBefore(long pos)
Flushes all data prior to the given position to the underlying destination, such as an OutputStream or
File . |
boolean |
isCached()
Returns true since this
ImageOutputStream caches data in order to allow
seeking backwards. |
boolean |
isCachedFile()
Returns false since this
ImageOutputStream does not maintain a file cache. |
boolean |
isCachedMemory()
Returns true since this
ImageOutputStream maintains a main memory cache. |
long |
length()
Returns the total length of the stream, if known. |
int |
read()
Reads a single byte from the stream and returns it as an integer between 0 and 255. |
int |
read(byte[] b,
int off,
int len)
Reads up to len bytes from the stream, and stores
them into b starting at index off . |
void |
write(byte[] b,
int off,
int len)
Writes a sequence of bytes to the stream at the current position. |
void |
write(int b)
Writes a single byte to the stream at the current position. |
Methods inherited from class javax.imageio.stream.ImageOutputStreamImpl |
flushBits, write, writeBit, writeBits, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeChars, writeDouble, writeDoubles, writeFloat, writeFloats, writeInt, writeInts, writeLong, writeLongs, writeShort, writeShorts, writeUTF |
Methods inherited from class javax.imageio.stream.ImageInputStreamImpl |
checkClosed, finalize, flush, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, mark, read, readBit, readBits, readBoolean, readByte, readBytes, readChar, readDouble, readFloat, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedInt, readUnsignedShort, readUTF, reset, seek, setBitOffset, setByteOrder, skipBytes, skipBytes |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface javax.imageio.stream.ImageInputStream |
flush, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, mark, read, readBit, readBits, readBoolean, readByte, readBytes, readChar, readDouble, readFloat, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedInt, readUnsignedShort, readUTF, reset, seek, setBitOffset, setByteOrder, skipBytes, skipBytes |
Constructor Detail |
public MemoryCacheImageOutputStream(OutputStream stream)
MemoryCacheImageOutputStream
that will write
to a given OutputStream
.
stream
- an OutputStream
to write to.
IllegalArgumentException
- if stream
is
null
.Method Detail |
public int read() throws IOException
ImageInputStream
The bit offset within the stream is reset to zero before the read occurs.
read
in interface ImageInputStream
read
in class ImageInputStreamImpl
IOException
- if an I/O error occurs.public int read(byte[] b, int off, int len) throws IOException
ImageInputStream
len
bytes from the stream, and stores
them into b
starting at index off
.
The number of bytes read is returned. If no bytes can be read
because the end of the stream has been reached, -1
is returned.
The bit offset within the stream is reset to zero before the read occurs.
read
in interface ImageInputStream
read
in class ImageInputStreamImpl
b
- an array of bytes to be written to.off
- the starting position within b
to write to.len
- the maximum number of byte
s to read.
-1
to indicate EOF.
IOException
- if an I/O error occurs.public void write(int b) throws IOException
ImageOutputStream
b
are ignored.
If the bit offset within the stream is non-zero, the
remainder of the current byte is padded with 0s
and written out first. The bit offset will be 0 after the
write. Implementers can use the
method of flushBits
to guarantee this.
ImageOutputStreamImpl
write
in interface ImageOutputStream
write
in class ImageOutputStreamImpl
b
- an int
whose lower 8 bits are to be
written.
IOException
- if an I/O error occurs.public void write(byte[] b, int off, int len) throws IOException
ImageOutputStream
len
is 0, nothing is written.
The byte b[off]
is written first, then the byte
b[off + 1]
, and so on.
If the bit offset within the stream is non-zero, the
remainder of the current byte is padded with 0s
and written out first. The bit offset will be 0 after the
write. Implementers can use the
method of flushBits
to guarantee this.
ImageOutputStreamImpl
write
in interface ImageOutputStream
write
in class ImageOutputStreamImpl
b
- an array of byte
s to be written.off
- the start offset in the data.len
- the number of byte
s to write.
IOException
- if an I/O error occurs.public long length()
ImageInputStream
-1
is returned.
length
in interface ImageInputStream
length
in class ImageInputStreamImpl
long
containing the length of the
stream, if known, or else -1
.public boolean isCached()
true
since this
ImageOutputStream
caches data in order to allow
seeking backwards.
isCached
in interface ImageInputStream
isCached
in class ImageInputStreamImpl
true
.isCachedMemory()
,
isCachedFile()
public boolean isCachedFile()
false
since this
ImageOutputStream
does not maintain a file cache.
isCachedFile
in interface ImageInputStream
isCachedFile
in class ImageInputStreamImpl
false
.isCached()
,
isCachedMemory()
public boolean isCachedMemory()
true
since this
ImageOutputStream
maintains a main memory cache.
isCachedMemory
in interface ImageInputStream
isCachedMemory
in class ImageInputStreamImpl
true
.isCached()
,
isCachedFile()
public void close() throws IOException
MemoryCacheImageOutputStream
. All
pending data is flushed to the output, and the cache
is released. The destination OutputStream
is not closed.
close
in interface ImageInputStream
close
in class ImageInputStreamImpl
IOException
- if an I/O error occurs.public void flushBefore(long pos) throws IOException
ImageOutputStream
OutputStream
or
File
. Attempting to seek to the flushed portion
of the stream will result in an
IndexOutOfBoundsException
.
flushBefore
in interface ImageOutputStream
flushBefore
in class ImageInputStreamImpl
pos
- a long
containing the length of the
file prefix that may be flushed to the destination.
IOException
- if an I/O error occurs.
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.