Module java.desktop
Package javax.imageio.stream

# Class FileImageOutputStream

java.lang.Object
javax.imageio.stream.ImageInputStreamImpl
javax.imageio.stream.ImageOutputStreamImpl
javax.imageio.stream.FileImageOutputStream

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

    public class FileImageOutputStream
    extends ImageOutputStreamImpl

An implementation of `ImageOutputStream` that writes its output directly to a `File` or `RandomAccessFile`.

## Field Summary

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

`bitOffset, byteOrder, flushedPos, streamPos`

## Constructor Summary

Constructors
Constructor | Description
--- | ---
`FileImageOutputStream​(File f)` | Constructs a `FileImageOutputStream` that will write to a given `File`.
`FileImageOutputStream​(RandomAccessFile raf)` | Constructs a `FileImageOutputStream` that will write to a given `RandomAccessFile`.

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`protected void` | `finalize()` | Deprecated. The `finalize` method has been deprecated.
`void` | `seek​(long pos)` | Sets the current stream position and resets the bit offset to 0.

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

`flushBits`

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

`checkClosed, isCached, isCachedFile, isCachedMemory, length, 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, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, isCached, isCachedFile, isCachedMemory, length, mark, read, read, 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, setBitOffset, setByteOrder, skipBytes, skipBytes`

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

`flushBefore, write, write, write, writeBit, writeBits, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeChars, writeDouble, writeDoubles, writeFloat, writeFloats, writeInt, writeInts, writeLong, writeLongs, writeShort, writeShorts, writeUTF`

## Constructor Details

### FileImageOutputStream

public FileImageOutputStream​(File f) throws FileNotFoundException, IOException
Constructs a `FileImageOutputStream` that will write to a given `File`.

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

### FileImageOutputStream

public FileImageOutputStream​(RandomAccessFile raf)
Constructs a `FileImageOutputStream` that will write to a given `RandomAccessFile`.

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

## Method Details

### seek

public void seek​(long pos) throws IOException
Sets the current stream position and resets the bit offset to 0. It is legal to seeking past the end of the file; an `EOFException` will be thrown only if a read is performed. The file length will not be increased until a write is performed.

Parameters:
  `pos` - a `long` containing the desired file pointer position.
Throws:
  `IndexOutOfBoundsException` - if `pos` is smaller than the flushed position.
  `IOException` - if any other I/O error occurs.

### 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`