Module java.desktop
Package javax.imageio.stream

## Class FileImageInputStream

- java.lang.Object
- - javax.imageio.stream.ImageInputStreamImpl
  - - javax.imageio.stream.FileImageInputStream

All Implemented Interfaces:
  `Closeable`, `DataInput`, `AutoCloseable`, `ImageInputStream`

    public class FileImageInputStream
    extends ImageInputStreamImpl

An implementation of `ImageInputStream` that gets its input from a `File` or `RandomAccessFile`. The file contents are assumed to be stable during the lifetime of the object.

### Field Summary

### Fields declared in class javax.imageio.stream.ImageInputStreamImpl

`bitOffset, byteOrder, flushedPos, streamPos`

### Constructor Summary

Constructors
`FileImageInputStream​(File f)` Constructs a `FileImageInputStream` that will read from a given `File`.
`FileImageInputStream​(RandomAccessFile raf)` Constructs a `FileImageInputStream` that will read from a given `RandomAccessFile`.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`protected void` `finalize()` Deprecated. The `finalize` method has been deprecated.
`long` `length()` Returns the length of the underlying file, or `-1` if it is unknown.

### Methods declared in class javax.imageio.stream.ImageInputStreamImpl

`checkClosed, isCached, isCachedFile, isCachedMemory, mark, read, read, read, reset, skipBytes, skipBytes`

### Methods declared in class java.lang.Object

`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods declared in interface javax.imageio.stream.ImageInputStream

`close, 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 Detail

#### FileImageInputStream

    public FileImageInputStream​(File f)
                         throws FileNotFoundException,
                                IOException

Constructs a `FileImageInputStream` that will read from a given `File`.

The file contents must not change between the time this object is constructed and the time of the last call to a read method.

Parameters:
  `f` - a `File` to read from.
Throws:
  `IllegalArgumentException` - if `f` is `null`.
  `SecurityException` - if a security manager exists and does not allow read access to the file.
  `FileNotFoundException` - if `f` is a directory or cannot be opened for reading for any other reason.
  `IOException` - if an I/O error occurs.

#### FileImageInputStream

    public FileImageInputStream​(RandomAccessFile raf)

Constructs a `FileImageInputStream` that will read from a given `RandomAccessFile`.

The file contents must not change between the time this object is constructed and the time of the last call to a read method.

Parameters:
  `raf` - a `RandomAccessFile` to read from.
Throws:
  `IllegalArgumentException` - if `raf` is `null`.

### Method Detail

#### length

    public long length()

Returns the length of the underlying file, or `-1` if it is unknown.

Specified by:
  `length` in interface `ImageInputStream`
Overrides:
  `length` in class `ImageInputStreamImpl`
Returns:
  the file length as a `long`, or `-1`.

#### finalize

    @Deprecated(since="9")
    protected void finalize()
                     throws Throwable

Deprecated.
The `finalize` method has been deprecated. Subclasses that override `finalize` in order to perform cleanup should be modified to use alternative cleanup mechanisms and to remove the overriding `finalize` method. When overriding the `finalize` method, its implementation must explicitly ensure that `super.finalize()` is invoked as described in `Object.finalize()`. See the specification for `Object.finalize()` for further information about migration options.
Finalizes this object prior to garbage collection. The `close` method is called to close any open input source. This method should not be called from application code.

Overrides:
  `finalize` in class `ImageInputStreamImpl`
Throws:
  `Throwable` - if an error occurs during superclass finalization.
See Also:
  `WeakReference`, `PhantomReference`