java.lang.Objectjavax.imageio.stream.ImageInputStreamImpl
javax.imageio.stream.ImageOutputStreamImpl
javax.imageio.stream.MemoryCacheImageOutputStream
public class 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) Discards the initial portion of the stream prior to the indicated postion. |
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 -1L to indicate that the stream has unknown length. |
int |
read
() Reads a single byte from the stream and returns it as an ![]() ![]() |
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)
Method Detail |
---|
public int read() throws IOException
Subclasses must provide an implementation for this method. The subclass implementation should update the stream position before exiting.
The bit offset within the stream is reset to zero before the read occurs.
The bit offset within the stream must be reset to zero before the read occurs.
public int read(byte[] b, int off, int len) throws IOException
The bit offset within the stream must be reset to zero before the read occurs.
Subclasses must provide an implementation for this method. The subclass implementation should update the stream position before exiting.
public void write(int b) throws IOException
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 flushBits method of ImageOutputStreamImpl to guarantee this.
public void write(byte[] b, int off, int len) throws IOException
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 flushBits method of ImageOutputStreamImpl to guarantee this.
public long length()
public boolean isCached()
public boolean isCachedFile()
public boolean isCachedMemory()
public void close() throws IOException
public void flushBefore(long pos) throws IOException
Calling flushBefore may allow classes implementing this interface to free up resources such as memory or disk space that are being used to store data from the stream.