java.lang.Object
javax.imageio.stream.ImageInputStreamImpl
javax.imageio.stream.ImageOutputStreamImpl
javax.imageio.stream.MemoryCacheImageOutputStream
- All Implemented Interfaces:
Closeable
,DataInput
,DataOutput
,AutoCloseable
,ImageInputStream
,ImageOutputStream
public class MemoryCacheImageOutputStream extends ImageOutputStreamImpl
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 declared in class javax.imageio.stream.ImageInputStreamImpl
bitOffset, byteOrder, flushedPos, streamPos
-
Constructor Summary
Constructors Constructor Description MemoryCacheImageOutputStream(OutputStream stream)
Constructs aMemoryCacheImageOutputStream
that will write to a givenOutputStream
. -
Method Summary
Modifier and Type Method Description void
close()
Closes thisMemoryCacheImageOutputStream
.boolean
isCached()
Returnstrue
since thisImageOutputStream
caches data in order to allow seeking backwards.boolean
isCachedFile()
Returnsfalse
since thisImageOutputStream
does not maintain a file cache.boolean
isCachedMemory()
Returnstrue
since thisImageOutputStream
maintains a main memory cache.Methods declared in class javax.imageio.stream.ImageInputStreamImpl
checkClosed, finalize, length, mark, read, read, read, reset, skipBytes, skipBytes
Methods declared in class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface javax.imageio.stream.ImageInputStream
flush, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, length, mark, read, read, 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 declared in interface javax.imageio.stream.ImageOutputStream
flushBefore, write, write, write, writeBit, writeBits, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeChars, writeDouble, writeDoubles, writeFloat, writeFloats, writeInt, writeInts, writeLong, writeLongs, writeShort, writeShorts, writeUTF
-
Constructor Details
-
MemoryCacheImageOutputStream
Constructs aMemoryCacheImageOutputStream
that will write to a givenOutputStream
.- Parameters:
stream
- anOutputStream
to write to.- Throws:
IllegalArgumentException
- ifstream
isnull
.
-
-
Method Details
-
isCached
public boolean isCached()Returnstrue
since thisImageOutputStream
caches data in order to allow seeking backwards.- Specified by:
isCached
in interfaceImageInputStream
- Overrides:
isCached
in classImageInputStreamImpl
- Returns:
true
.- See Also:
isCachedMemory()
,isCachedFile()
-
isCachedFile
public boolean isCachedFile()Returnsfalse
since thisImageOutputStream
does not maintain a file cache.- Specified by:
isCachedFile
in interfaceImageInputStream
- Overrides:
isCachedFile
in classImageInputStreamImpl
- Returns:
false
.- See Also:
isCached()
,isCachedMemory()
-
isCachedMemory
public boolean isCachedMemory()Returnstrue
since thisImageOutputStream
maintains a main memory cache.- Specified by:
isCachedMemory
in interfaceImageInputStream
- Overrides:
isCachedMemory
in classImageInputStreamImpl
- Returns:
true
.- See Also:
isCached()
,isCachedFile()
-
close
Closes thisMemoryCacheImageOutputStream
. All pending data is flushed to the output, and the cache is released. The destinationOutputStream
is not closed.- Throws:
IOException
- if an I/O error occurs.
-