Class MemoryCacheImageOutputStream
- All Implemented Interfaces:
- Closeable,- DataInput,- DataOutput,- AutoCloseable,- ImageInputStream,- ImageOutputStream
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 SummaryFields declared in class javax.imageio.stream.ImageInputStreamImplbitOffset, byteOrder, flushedPos, streamPos
- 
Constructor SummaryConstructorsConstructorDescriptionConstructs aMemoryCacheImageOutputStreamthat will write to a givenOutputStream.
- 
Method SummaryModifier and TypeMethodDescriptionvoidclose()Closes thisMemoryCacheImageOutputStream.voidflushBefore(long pos) Flushes all data prior to the given position to the underlying destination, such as anOutputStreamorFile.booleanisCached()Returnstruesince thisImageOutputStreamcaches data in order to allow seeking backwards.booleanReturnsfalsesince thisImageOutputStreamdoes not maintain a file cache.booleanReturnstruesince thisImageOutputStreammaintains a main memory cache.longlength()Returns-1Lto indicate that the stream has unknown length.intread()Reads a single byte from the stream and returns it as anintbetween 0 and 255.intread(byte[] b, int off, int len) Reads up tolenbytes from the stream, and stores them intobstarting at indexoff.voidwrite(byte[] b, int off, int len) Writes a sequence of bytes to the stream at the current position.voidwrite(int b) Writes a single byte to the stream at the current position.Methods declared in class javax.imageio.stream.ImageOutputStreamImplflushBits, write, writeBit, writeBits, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeChars, writeDouble, writeDoubles, writeFloat, writeFloats, writeInt, writeInts, writeLong, writeLongs, writeShort, writeShorts, writeUTFMethods declared in class javax.imageio.stream.ImageInputStreamImplcheckClosed, finalize, flush, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, length, 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, skipBytesMethods declared in class java.lang.Objectclone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods declared in interface javax.imageio.stream.ImageInputStreamflush, 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 Details- 
MemoryCacheImageOutputStreamConstructs aMemoryCacheImageOutputStreamthat will write to a givenOutputStream.- Parameters:
- stream- an- OutputStreamto write to.
- Throws:
- IllegalArgumentException- if- streamis- null.
 
 
- 
- 
Method Details- 
readDescription copied from class:ImageInputStreamImplReads a single byte from the stream and returns it as anintbetween 0 and 255. If EOF is reached,-1is returned.Subclasses must provide an implementation for this method. The subclass implementation should update the stream position before exiting. The bit offset within the stream must be reset to zero before the read occurs. - Specified by:
- readin interface- ImageInputStream
- Specified by:
- readin class- ImageInputStreamImpl
- Returns:
- the value of the next byte in the stream, or -1if EOF is reached.
- Throws:
- IOException- if the stream has been closed.
 
- 
readDescription copied from class:ImageInputStreamImplReads up tolenbytes from the stream, and stores them intobstarting at indexoff. If no bytes can be read because the end of the stream has been reached,-1is returned.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. - Specified by:
- readin interface- ImageInputStream
- Specified by:
- readin class- ImageInputStreamImpl
- Parameters:
- b- an array of bytes to be written to.
- off- the starting position within- bto write to.
- len- the maximum number of bytes to read.
- Returns:
- the number of bytes actually read, or -1to indicate EOF.
- Throws:
- IOException- if an I/O error occurs.
 
- 
writeDescription copied from interface:ImageOutputStreamWrites a single byte to the stream at the current position. The 24 high-order bits ofbare 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 flushBitsmethod ofImageOutputStreamImplto guarantee this.- Parameters:
- b- an- intwhose lower 8 bits are to be written.
- Throws:
- IOException- if an I/O error occurs.
 
- 
writeDescription copied from interface:ImageOutputStreamWrites a sequence of bytes to the stream at the current position. Iflenis 0, nothing is written. The byteb[off]is written first, then the byteb[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 flushBitsmethod ofImageOutputStreamImplto guarantee this.- Parameters:
- b- an array of- bytes to be written.
- off- the start offset in the data.
- len- the number of- bytes to write.
- Throws:
- IOException- if an I/O error occurs.
 
- 
lengthpublic long length()Description copied from class:ImageInputStreamImplReturns-1Lto indicate that the stream has unknown length. Subclasses must override this method to provide actual length information.- Specified by:
- lengthin interface- ImageInputStream
- Overrides:
- lengthin class- ImageInputStreamImpl
- Returns:
- -1L to indicate unknown length.
 
- 
isCachedpublic boolean isCached()Returnstruesince thisImageOutputStreamcaches data in order to allow seeking backwards.- Specified by:
- isCachedin interface- ImageInputStream
- Overrides:
- isCachedin class- ImageInputStreamImpl
- Returns:
- true.
- See Also:
 
- 
isCachedFilepublic boolean isCachedFile()Returnsfalsesince thisImageOutputStreamdoes not maintain a file cache.- Specified by:
- isCachedFilein interface- ImageInputStream
- Overrides:
- isCachedFilein class- ImageInputStreamImpl
- Returns:
- false.
- See Also:
 
- 
isCachedMemorypublic boolean isCachedMemory()Returnstruesince thisImageOutputStreammaintains a main memory cache.- Specified by:
- isCachedMemoryin interface- ImageInputStream
- Overrides:
- isCachedMemoryin class- ImageInputStreamImpl
- Returns:
- true.
- See Also:
 
- 
closeCloses thisMemoryCacheImageOutputStream. All pending data is flushed to the output, and the cache is released. The destinationOutputStreamis not closed.- Throws:
- IOException- if an I/O error occurs.
 
- 
flushBeforeFlushes all data prior to the given position to the underlying destination, such as anOutputStreamorFile. Attempting to seek to the flushed portion of the stream will result in anIndexOutOfBoundsException.- Parameters:
- pos- a- longcontaining the length of the stream prefix that may be flushed to the destination.
- Throws:
- IOException- if an I/O error occurs.
 
 
-