javax.imageio.stream
Class FileCacheImageInputStream

java.lang.Object sample code for java.lang.Object definition code for java.lang.Object 
  extended by javax.imageio.stream.ImageInputStreamImpl sample code for javax.imageio.stream.ImageInputStreamImpl definition code for javax.imageio.stream.ImageInputStreamImpl 
      extended by javax.imageio.stream.FileCacheImageInputStream
All Implemented Interfaces:
DataInput sample code for java.io.DataInput definition code for java.io.DataInput , ImageInputStream sample code for javax.imageio.stream.ImageInputStream definition code for javax.imageio.stream.ImageInputStream

public class FileCacheImageInputStream
extends ImageInputStreamImpl sample code for javax.imageio.stream.ImageInputStreamImpl definition code for javax.imageio.stream.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 inherited from class javax.imageio.stream.ImageInputStreamImpl sample code for javax.imageio.stream.ImageInputStreamImpl definition code for javax.imageio.stream.ImageInputStreamImpl
bitOffset sample code for javax.imageio.stream.ImageInputStreamImpl.bitOffset definition code for javax.imageio.stream.ImageInputStreamImpl.bitOffset , byteOrder sample code for javax.imageio.stream.ImageInputStreamImpl.byteOrder definition code for javax.imageio.stream.ImageInputStreamImpl.byteOrder , flushedPos sample code for javax.imageio.stream.ImageInputStreamImpl.flushedPos definition code for javax.imageio.stream.ImageInputStreamImpl.flushedPos , streamPos sample code for javax.imageio.stream.ImageInputStreamImpl.streamPos definition code for javax.imageio.stream.ImageInputStreamImpl.streamPos
 
Constructor Summary
FileCacheImageInputStream sample code for javax.imageio.stream.FileCacheImageInputStream.FileCacheImageInputStream(java.io.InputStream, java.io.File) definition code for javax.imageio.stream.FileCacheImageInputStream.FileCacheImageInputStream(java.io.InputStream, java.io.File) (InputStream sample code for java.io.InputStream definition code for java.io.InputStream  stream, File sample code for java.io.File definition code for java.io.File  cacheDir)
          Constructs a FileCacheImageInputStream that will read from a given InputStream.
 
Method Summary
 void close sample code for javax.imageio.stream.FileCacheImageInputStream.close() definition code for javax.imageio.stream.FileCacheImageInputStream.close() ()
          Closes this FileCacheImageInputStream, closing and removing the cache file.
 boolean isCached sample code for javax.imageio.stream.FileCacheImageInputStream.isCached() definition code for javax.imageio.stream.FileCacheImageInputStream.isCached() ()
          Returns true since this ImageInputStream caches data in order to allow seeking backwards.
 boolean isCachedFile sample code for javax.imageio.stream.FileCacheImageInputStream.isCachedFile() definition code for javax.imageio.stream.FileCacheImageInputStream.isCachedFile() ()
          Returns true since this ImageInputStream maintains a file cache.
 boolean isCachedMemory sample code for javax.imageio.stream.FileCacheImageInputStream.isCachedMemory() definition code for javax.imageio.stream.FileCacheImageInputStream.isCachedMemory() ()
          Returns false since this ImageInputStream does not maintain a main memory cache.
 int read sample code for javax.imageio.stream.FileCacheImageInputStream.read() definition code for javax.imageio.stream.FileCacheImageInputStream.read() ()
          Reads a single byte from the stream and returns it as an integer between 0 and 255.
 int read sample code for javax.imageio.stream.FileCacheImageInputStream.read(byte[], int, int) definition code for javax.imageio.stream.FileCacheImageInputStream.read(byte[], int, int) (byte[] b, int off, int len)
          Reads up to len bytes from the stream, and stores them into b starting at index off.
 
Methods inherited from class javax.imageio.stream.ImageInputStreamImpl sample code for javax.imageio.stream.ImageInputStreamImpl definition code for javax.imageio.stream.ImageInputStreamImpl
checkClosed sample code for javax.imageio.stream.ImageInputStreamImpl.checkClosed() definition code for javax.imageio.stream.ImageInputStreamImpl.checkClosed() , finalize sample code for javax.imageio.stream.ImageInputStreamImpl.finalize() definition code for javax.imageio.stream.ImageInputStreamImpl.finalize() , flush sample code for javax.imageio.stream.ImageInputStreamImpl.flush() definition code for javax.imageio.stream.ImageInputStreamImpl.flush() , flushBefore sample code for javax.imageio.stream.ImageInputStreamImpl.flushBefore(long) definition code for javax.imageio.stream.ImageInputStreamImpl.flushBefore(long) , getBitOffset sample code for javax.imageio.stream.ImageInputStreamImpl.getBitOffset() definition code for javax.imageio.stream.ImageInputStreamImpl.getBitOffset() , getByteOrder sample code for javax.imageio.stream.ImageInputStreamImpl.getByteOrder() definition code for javax.imageio.stream.ImageInputStreamImpl.getByteOrder() , getFlushedPosition sample code for javax.imageio.stream.ImageInputStreamImpl.getFlushedPosition() definition code for javax.imageio.stream.ImageInputStreamImpl.getFlushedPosition() , getStreamPosition sample code for javax.imageio.stream.ImageInputStreamImpl.getStreamPosition() definition code for javax.imageio.stream.ImageInputStreamImpl.getStreamPosition() , length sample code for javax.imageio.stream.ImageInputStreamImpl.length() definition code for javax.imageio.stream.ImageInputStreamImpl.length() , mark sample code for javax.imageio.stream.ImageInputStreamImpl.mark() definition code for javax.imageio.stream.ImageInputStreamImpl.mark() , read sample code for javax.imageio.stream.ImageInputStreamImpl.read(byte[]) definition code for javax.imageio.stream.ImageInputStreamImpl.read(byte[]) , readBit sample code for javax.imageio.stream.ImageInputStreamImpl.readBit() definition code for javax.imageio.stream.ImageInputStreamImpl.readBit() , readBits sample code for javax.imageio.stream.ImageInputStreamImpl.readBits(int) definition code for javax.imageio.stream.ImageInputStreamImpl.readBits(int) , readBoolean sample code for javax.imageio.stream.ImageInputStreamImpl.readBoolean() definition code for javax.imageio.stream.ImageInputStreamImpl.readBoolean() , readByte sample code for javax.imageio.stream.ImageInputStreamImpl.readByte() definition code for javax.imageio.stream.ImageInputStreamImpl.readByte() , readBytes sample code for javax.imageio.stream.ImageInputStreamImpl.readBytes(javax.imageio.stream.IIOByteBuffer, int) definition code for javax.imageio.stream.ImageInputStreamImpl.readBytes(javax.imageio.stream.IIOByteBuffer, int) , readChar sample code for javax.imageio.stream.ImageInputStreamImpl.readChar() definition code for javax.imageio.stream.ImageInputStreamImpl.readChar() , readDouble sample code for javax.imageio.stream.ImageInputStreamImpl.readDouble() definition code for javax.imageio.stream.ImageInputStreamImpl.readDouble() , readFloat sample code for javax.imageio.stream.ImageInputStreamImpl.readFloat() definition code for javax.imageio.stream.ImageInputStreamImpl.readFloat() , readFully sample code for javax.imageio.stream.ImageInputStreamImpl.readFully(byte[]) definition code for javax.imageio.stream.ImageInputStreamImpl.readFully(byte[]) , readFully sample code for javax.imageio.stream.ImageInputStreamImpl.readFully(byte[], int, int) definition code for javax.imageio.stream.ImageInputStreamImpl.readFully(byte[], int, int) , readFully sample code for javax.imageio.stream.ImageInputStreamImpl.readFully(char[], int, int) definition code for javax.imageio.stream.ImageInputStreamImpl.readFully(char[], int, int) , readFully sample code for javax.imageio.stream.ImageInputStreamImpl.readFully(double[], int, int) definition code for javax.imageio.stream.ImageInputStreamImpl.readFully(double[], int, int) , readFully sample code for javax.imageio.stream.ImageInputStreamImpl.readFully(float[], int, int) definition code for javax.imageio.stream.ImageInputStreamImpl.readFully(float[], int, int) , readFully sample code for javax.imageio.stream.ImageInputStreamImpl.readFully(int[], int, int) definition code for javax.imageio.stream.ImageInputStreamImpl.readFully(int[], int, int) , readFully sample code for javax.imageio.stream.ImageInputStreamImpl.readFully(long[], int, int) definition code for javax.imageio.stream.ImageInputStreamImpl.readFully(long[], int, int) , readFully sample code for javax.imageio.stream.ImageInputStreamImpl.readFully(short[], int, int) definition code for javax.imageio.stream.ImageInputStreamImpl.readFully(short[], int, int) , readInt sample code for javax.imageio.stream.ImageInputStreamImpl.readInt() definition code for javax.imageio.stream.ImageInputStreamImpl.readInt() , readLine sample code for javax.imageio.stream.ImageInputStreamImpl.readLine() definition code for javax.imageio.stream.ImageInputStreamImpl.readLine() , readLong sample code for javax.imageio.stream.ImageInputStreamImpl.readLong() definition code for javax.imageio.stream.ImageInputStreamImpl.readLong() , readShort sample code for javax.imageio.stream.ImageInputStreamImpl.readShort() definition code for javax.imageio.stream.ImageInputStreamImpl.readShort() , readUnsignedByte sample code for javax.imageio.stream.ImageInputStreamImpl.readUnsignedByte() definition code for javax.imageio.stream.ImageInputStreamImpl.readUnsignedByte() , readUnsignedInt sample code for javax.imageio.stream.ImageInputStreamImpl.readUnsignedInt() definition code for javax.imageio.stream.ImageInputStreamImpl.readUnsignedInt() , readUnsignedShort sample code for javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort() definition code for javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort() , readUTF sample code for javax.imageio.stream.ImageInputStreamImpl.readUTF() definition code for javax.imageio.stream.ImageInputStreamImpl.readUTF() , reset sample code for javax.imageio.stream.ImageInputStreamImpl.reset() definition code for javax.imageio.stream.ImageInputStreamImpl.reset() , seek sample code for javax.imageio.stream.ImageInputStreamImpl.seek(long) definition code for javax.imageio.stream.ImageInputStreamImpl.seek(long) , setBitOffset sample code for javax.imageio.stream.ImageInputStreamImpl.setBitOffset(int) definition code for javax.imageio.stream.ImageInputStreamImpl.setBitOffset(int) , setByteOrder sample code for javax.imageio.stream.ImageInputStreamImpl.setByteOrder(java.nio.ByteOrder) definition code for javax.imageio.stream.ImageInputStreamImpl.setByteOrder(java.nio.ByteOrder) , skipBytes sample code for javax.imageio.stream.ImageInputStreamImpl.skipBytes(int) definition code for javax.imageio.stream.ImageInputStreamImpl.skipBytes(int) , skipBytes sample code for javax.imageio.stream.ImageInputStreamImpl.skipBytes(long) definition code for javax.imageio.stream.ImageInputStreamImpl.skipBytes(long)
 
Methods inherited from class java.lang.Object sample code for java.lang.Object definition code for java.lang.Object
clone sample code for java.lang.Object.clone() definition code for java.lang.Object.clone() , equals sample code for java.lang.Object.equals(java.lang.Object) definition code for java.lang.Object.equals(java.lang.Object) , getClass sample code for java.lang.Object.getClass() definition code for java.lang.Object.getClass() , hashCode sample code for java.lang.Object.hashCode() definition code for java.lang.Object.hashCode() , notify sample code for java.lang.Object.notify() definition code for java.lang.Object.notify() , notifyAll sample code for java.lang.Object.notifyAll() definition code for java.lang.Object.notifyAll() , toString sample code for java.lang.Object.toString() definition code for java.lang.Object.toString() , wait sample code for java.lang.Object.wait() definition code for java.lang.Object.wait() , wait sample code for java.lang.Object.wait(long) definition code for java.lang.Object.wait(long) , wait sample code for java.lang.Object.wait(long, int) definition code for java.lang.Object.wait(long, int)
 

Constructor Detail

FileCacheImageInputStream sample code for javax.imageio.stream.FileCacheImageInputStream(java.io.InputStream, java.io.File) definition code for javax.imageio.stream.FileCacheImageInputStream(java.io.InputStream, java.io.File)

public FileCacheImageInputStream(InputStream sample code for java.io.InputStream definition code for java.io.InputStream  stream,
                                 File sample code for java.io.File definition code for java.io.File  cacheDir)
                          throws IOException sample code for java.io.IOException definition code for java.io.IOException 
Constructs a FileCacheImageInputStream that will read from a given InputStream.

A temporary file is used as a cache. If cacheDiris non-null and is a directory, the file will be created there. If it is null, the system-dependent default temporary-file directory will be used (see the documentation for File.createTempFile for details).

Parameters:
stream - an InputStream to read from.
cacheDir - a File indicating where the cache file should be created, or null to use the system directory.
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if stream is null.
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if cacheDir is non-null but is not a directory.
IOException sample code for java.io.IOException definition code for java.io.IOException - if a cache file cannot be created.
Method Detail

read sample code for javax.imageio.stream.FileCacheImageInputStream.read() definition code for javax.imageio.stream.FileCacheImageInputStream.read()

public int read()
         throws IOException sample code for java.io.IOException definition code for java.io.IOException 
Description copied from interface: ImageInputStream sample code for javax.imageio.stream.ImageInputStream.read() definition code for javax.imageio.stream.ImageInputStream.read()
Reads a single byte from the stream and returns it as an integer between 0 and 255. If the end of the stream is reached, -1 is returned.

The bit offset within the stream is reset to zero before the read occurs.

Specified by:
read sample code for javax.imageio.stream.ImageInputStream.read() definition code for javax.imageio.stream.ImageInputStream.read() in interface ImageInputStream sample code for javax.imageio.stream.ImageInputStream definition code for javax.imageio.stream.ImageInputStream
Specified by:
read sample code for javax.imageio.stream.ImageInputStreamImpl.read() definition code for javax.imageio.stream.ImageInputStreamImpl.read() in class ImageInputStreamImpl sample code for javax.imageio.stream.ImageInputStreamImpl definition code for javax.imageio.stream.ImageInputStreamImpl
Returns:
a byte value from the stream, as an int, or -1 to indicate EOF.
Throws:
IOException sample code for java.io.IOException definition code for java.io.IOException - if an I/O error occurs.

read sample code for javax.imageio.stream.FileCacheImageInputStream.read(byte[], int, int) definition code for javax.imageio.stream.FileCacheImageInputStream.read(byte[], int, int)

public int read(byte[] b,
                int off,
                int len)
         throws IOException sample code for java.io.IOException definition code for java.io.IOException 
Description copied from class: ImageInputStreamImpl sample code for javax.imageio.stream.ImageInputStreamImpl.read(byte[], int, int) definition code for javax.imageio.stream.ImageInputStreamImpl.read(byte[], int, int)
Reads up to len bytes from the stream, and stores them into b starting at index off. If no bytes can be read because the end of the stream has been reached, -1 is 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:
read sample code for javax.imageio.stream.ImageInputStream.read(byte[], int, int) definition code for javax.imageio.stream.ImageInputStream.read(byte[], int, int) in interface ImageInputStream sample code for javax.imageio.stream.ImageInputStream definition code for javax.imageio.stream.ImageInputStream
Specified by:
read sample code for javax.imageio.stream.ImageInputStreamImpl.read(byte[], int, int) definition code for javax.imageio.stream.ImageInputStreamImpl.read(byte[], int, int) in class ImageInputStreamImpl sample code for javax.imageio.stream.ImageInputStreamImpl definition code for javax.imageio.stream.ImageInputStreamImpl
Parameters:
b - an array of bytes to be written to.
off - the starting position within b to write to.
len - the maximum number of bytes to read.
Returns:
the number of bytes actually read, or -1 to indicate EOF.
Throws:
IOException sample code for java.io.IOException definition code for java.io.IOException - if an I/O error occurs.

isCached sample code for javax.imageio.stream.FileCacheImageInputStream.isCached() definition code for javax.imageio.stream.FileCacheImageInputStream.isCached()

public boolean isCached()
Returns true since this ImageInputStream caches data in order to allow seeking backwards.

Specified by:
isCached sample code for javax.imageio.stream.ImageInputStream.isCached() definition code for javax.imageio.stream.ImageInputStream.isCached() in interface ImageInputStream sample code for javax.imageio.stream.ImageInputStream definition code for javax.imageio.stream.ImageInputStream
Overrides:
isCached sample code for javax.imageio.stream.ImageInputStreamImpl.isCached() definition code for javax.imageio.stream.ImageInputStreamImpl.isCached() in class ImageInputStreamImpl sample code for javax.imageio.stream.ImageInputStreamImpl definition code for javax.imageio.stream.ImageInputStreamImpl
Returns:
true.
See Also:
isCachedMemory() sample code for javax.imageio.stream.FileCacheImageInputStream.isCachedMemory() definition code for javax.imageio.stream.FileCacheImageInputStream.isCachedMemory() , isCachedFile() sample code for javax.imageio.stream.FileCacheImageInputStream.isCachedFile() definition code for javax.imageio.stream.FileCacheImageInputStream.isCachedFile()

isCachedFile sample code for javax.imageio.stream.FileCacheImageInputStream.isCachedFile() definition code for javax.imageio.stream.FileCacheImageInputStream.isCachedFile()

public boolean isCachedFile()
Returns true since this ImageInputStream maintains a file cache.

Specified by:
isCachedFile sample code for javax.imageio.stream.ImageInputStream.isCachedFile() definition code for javax.imageio.stream.ImageInputStream.isCachedFile() in interface ImageInputStream sample code for javax.imageio.stream.ImageInputStream definition code for javax.imageio.stream.ImageInputStream
Overrides:
isCachedFile sample code for javax.imageio.stream.ImageInputStreamImpl.isCachedFile() definition code for javax.imageio.stream.ImageInputStreamImpl.isCachedFile() in class ImageInputStreamImpl sample code for javax.imageio.stream.ImageInputStreamImpl definition code for javax.imageio.stream.ImageInputStreamImpl
Returns:
true.
See Also:
isCached() sample code for javax.imageio.stream.FileCacheImageInputStream.isCached() definition code for javax.imageio.stream.FileCacheImageInputStream.isCached() , isCachedMemory() sample code for javax.imageio.stream.FileCacheImageInputStream.isCachedMemory() definition code for javax.imageio.stream.FileCacheImageInputStream.isCachedMemory()

isCachedMemory sample code for javax.imageio.stream.FileCacheImageInputStream.isCachedMemory() definition code for javax.imageio.stream.FileCacheImageInputStream.isCachedMemory()

public boolean isCachedMemory()
Returns false since this ImageInputStream does not maintain a main memory cache.

Specified by:
isCachedMemory sample code for javax.imageio.stream.ImageInputStream.isCachedMemory() definition code for javax.imageio.stream.ImageInputStream.isCachedMemory() in interface ImageInputStream sample code for javax.imageio.stream.ImageInputStream definition code for javax.imageio.stream.ImageInputStream
Overrides:
isCachedMemory sample code for javax.imageio.stream.ImageInputStreamImpl.isCachedMemory() definition code for javax.imageio.stream.ImageInputStreamImpl.isCachedMemory() in class ImageInputStreamImpl sample code for javax.imageio.stream.ImageInputStreamImpl definition code for javax.imageio.stream.ImageInputStreamImpl
Returns:
false.
See Also:
isCached() sample code for javax.imageio.stream.FileCacheImageInputStream.isCached() definition code for javax.imageio.stream.FileCacheImageInputStream.isCached() , isCachedFile() sample code for javax.imageio.stream.FileCacheImageInputStream.isCachedFile() definition code for javax.imageio.stream.FileCacheImageInputStream.isCachedFile()

close sample code for javax.imageio.stream.FileCacheImageInputStream.close() definition code for javax.imageio.stream.FileCacheImageInputStream.close()

public void close()
           throws IOException sample code for java.io.IOException definition code for java.io.IOException 
Closes this FileCacheImageInputStream, closing and removing the cache file. The source InputStream is not closed.

Specified by:
close sample code for javax.imageio.stream.ImageInputStream.close() definition code for javax.imageio.stream.ImageInputStream.close() in interface ImageInputStream sample code for javax.imageio.stream.ImageInputStream definition code for javax.imageio.stream.ImageInputStream
Overrides:
close sample code for javax.imageio.stream.ImageInputStreamImpl.close() definition code for javax.imageio.stream.ImageInputStreamImpl.close() in class ImageInputStreamImpl sample code for javax.imageio.stream.ImageInputStreamImpl definition code for javax.imageio.stream.ImageInputStreamImpl
Throws:
IOException sample code for java.io.IOException definition code for java.io.IOException - if an error occurs.