- java.lang.Object
- 
- javax.imageio.stream.ImageInputStreamImpl
- 
- javax.imageio.stream.FileCacheImageInputStream
 
 
- 
- All Implemented Interfaces:
- Closeable,- DataInput,- AutoCloseable,- ImageInputStream
 
 public class FileCacheImageInputStream extends ImageInputStreamImpl An implementation ofImageInputStreamthat gets its input from a regularInputStream. A file is used to cache previously read data.
- 
- 
Field Summary- 
Fields declared in class javax.imageio.stream.ImageInputStreamImplbitOffset, byteOrder, flushedPos, streamPos
 
- 
 - 
Constructor SummaryConstructors Constructor Description FileCacheImageInputStream(InputStream stream, File cacheDir)Constructs aFileCacheImageInputStreamthat will read from a givenInputStream.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidclose()Closes thisFileCacheImageInputStream, closing and removing the cache file.protected voidfinalize()Deprecated.Thefinalizemethod has been deprecated.booleanisCached()Returnstruesince thisImageInputStreamcaches data in order to allow seeking backwards.booleanisCachedFile()Returnstruesince thisImageInputStreammaintains a file cache.booleanisCachedMemory()Returnsfalsesince thisImageInputStreamdoes not maintain a main memory cache.- 
Methods declared in class javax.imageio.stream.ImageInputStreamImplcheckClosed, length, mark, read, read, read, reset, skipBytes, skipBytes
 - 
Methods declared in class java.lang.Objectclone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods declared in interface javax.imageio.stream.ImageInputStreamflush, flushBefore, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, readBit, readBits, readBoolean, readByte, readBytes, readChar, readDouble, readFloat, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedInt, readUnsignedShort, readUTF, seek, setBitOffset, setByteOrder
 
- 
 
- 
- 
- 
Constructor Detail- 
FileCacheImageInputStreampublic FileCacheImageInputStream(InputStream stream, File cacheDir) throws IOException Constructs aFileCacheImageInputStreamthat will read from a givenInputStream.A temporary file is used as a cache. If cacheDiris non-nulland is a directory, the file will be created there. If it isnull, the system-dependent default temporary-file directory will be used (see the documentation forFile.createTempFilefor details).- Parameters:
- stream- an- InputStreamto read from.
- cacheDir- a- Fileindicating where the cache file should be created, or- nullto use the system directory.
- Throws:
- IllegalArgumentException- if- streamis- null.
- IllegalArgumentException- if- cacheDiris non-- nullbut is not a directory.
- IOException- if a cache file cannot be created.
 
 
- 
 - 
Method Detail- 
isCachedpublic boolean isCached() Returnstruesince thisImageInputStreamcaches data in order to allow seeking backwards.- Specified by:
- isCachedin interface- ImageInputStream
- Overrides:
- isCachedin class- ImageInputStreamImpl
- Returns:
- true.
- See Also:
- isCachedMemory(),- isCachedFile()
 
 - 
isCachedFilepublic boolean isCachedFile() Returnstruesince thisImageInputStreammaintains a file cache.- Specified by:
- isCachedFilein interface- ImageInputStream
- Overrides:
- isCachedFilein class- ImageInputStreamImpl
- Returns:
- true.
- See Also:
- isCached(),- isCachedMemory()
 
 - 
isCachedMemorypublic boolean isCachedMemory() Returnsfalsesince thisImageInputStreamdoes not maintain a main memory cache.- Specified by:
- isCachedMemoryin interface- ImageInputStream
- Overrides:
- isCachedMemoryin class- ImageInputStreamImpl
- Returns:
- false.
- See Also:
- isCached(),- isCachedFile()
 
 - 
closepublic void close() throws IOExceptionCloses thisFileCacheImageInputStream, closing and removing the cache file. The sourceInputStreamis not closed.- Throws:
- IOException- if an error occurs.
 
 - 
finalize@Deprecated(since="9") protected void finalize() throws Throwable Deprecated.Thefinalizemethod has been deprecated. Subclasses that overridefinalizein order to perform cleanup should be modified to use alternative cleanup mechanisms and to remove the overridingfinalizemethod. When overriding thefinalizemethod, its implementation must explicitly ensure thatsuper.finalize()is invoked as described inObject.finalize(). See the specification forObject.finalize()for further information about migration options.Finalizes this object prior to garbage collection. Theclosemethod is called to close any open input source. This method should not be called from application code.- Overrides:
- finalizein class- ImageInputStreamImpl
- Throws:
- Throwable- if an error occurs during superclass finalization.
- See Also:
- WeakReference,- PhantomReference
 
 
- 
 
-