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 of
ImageInputStream that gets its
input from a regular InputStream. A file is used to
cache previously read data.-
Field Summary
Fields declared in class javax.imageio.stream.ImageInputStreamImpl
bitOffset, byteOrder, flushedPos, streamPos -
Constructor Summary
Constructors Constructor Description FileCacheImageInputStream(InputStream stream, File cacheDir)Constructs aFileCacheImageInputStreamthat will read from a givenInputStream. -
Method Summary
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.ImageInputStreamImpl
checkClosed, length, mark, read, read, read, reset, skipBytes, skipBytesMethods declared in class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods declared in interface javax.imageio.stream.ImageInputStream
flush, 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 Details
-
FileCacheImageInputStream
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- anInputStreamto read from.cacheDir- aFileindicating where the cache file should be created, ornullto use the system directory.- Throws:
IllegalArgumentException- ifstreamisnull.IllegalArgumentException- ifcacheDiris non-nullbut is not a directory.IOException- if a cache file cannot be created.
-
-
Method Details
-
isCached
public boolean isCached()Returnstruesince thisImageInputStreamcaches data in order to allow seeking backwards.- Specified by:
isCachedin interfaceImageInputStream- Overrides:
isCachedin classImageInputStreamImpl- Returns:
true.- See Also:
isCachedMemory(),isCachedFile()
-
isCachedFile
public boolean isCachedFile()Returnstruesince thisImageInputStreammaintains a file cache.- Specified by:
isCachedFilein interfaceImageInputStream- Overrides:
isCachedFilein classImageInputStreamImpl- Returns:
true.- See Also:
isCached(),isCachedMemory()
-
isCachedMemory
public boolean isCachedMemory()Returnsfalsesince thisImageInputStreamdoes not maintain a main memory cache.- Specified by:
isCachedMemoryin interfaceImageInputStream- Overrides:
isCachedMemoryin classImageInputStreamImpl- Returns:
false.- See Also:
isCached(),isCachedFile()
-
close
Closes thisFileCacheImageInputStream, closing and removing the cache file. The sourceInputStreamis not closed.- Throws:
IOException- if an error occurs.
-
finalize
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 classImageInputStreamImpl- Throws:
Throwable- if an error occurs during superclass finalization.- See Also:
WeakReference,PhantomReference
-