Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sun.media.imageio.stream
Class FileChannelImageOutputStream

    java.lang.Object
      |
      +--javax.imageio.stream.ImageInputStreamImpl
            |
            +--javax.imageio.stream.ImageOutputStreamImpl
                  |
                  +--com.sun.media.imageio.stream.FileChannelImageOutputStream

All Implemented Interfaces:
  DataInput, DataOutput, ImageInputStream, ImageOutputStream

public class FileChannelImageOutputStream
extends ImageOutputStreamImpl

A class which implements `ImageOutputStream` using a `FileChannel` as the eventual data destination.

Memory mapping is used for reading and direct buffers for writing. Only methods which provide significant performance improvement with respect to the superclass implementation are overridden. Overridden methods are not commented individually unless some noteworthy aspect of the implementation must be described.

The methods of this class are not synchronized.

See Also:
  `ImageOutputStream`, java.nio, `FileChannel`

Field Summary

Fields inherited from class javax.imageio.stream.ImageInputStreamImpl
`bitOffset, byteOrder, flushedPos, streamPos`

Constructor Summary
`FileChannelImageOutputStream(FileChannel channel)` Constructs a `FileChannelImageOutputStream` from a `FileChannel`.

Method Summary
`void` | `close()` Invokes the superclass method, writes any unwritten data, and sets the internal reference to the source `FileChannel` to `null`.
`long` | `length()` Returns the number of bytes currently in the `FileChannel`.
`int` | `read()`
`int` | `read(byte[] b, int off, int len)`
`void` | `readFully(char[] c, int off, int len)`
`void` | `readFully(double[] d, int off, int len)`
`void` | `readFully(float[] f, int off, int len)`
`void` | `readFully(int[] i, int off, int len)`
`void` | `readFully(long[] l, int off, int len)`
`void` | `readFully(short[] s, int off, int len)`
`void` | `seek(long pos)` Invokes the superclass method, writes any unwritten data, and sets the channel position to the supplied parameter.
`void` | `setByteOrder(ByteOrder networkByteOrder)`
`void` | `write(byte[] b, int off, int len)`
`void` | `write(int b)`
`void` | `writeChars(char[] c, int off, int len)`
`void` | `writeDoubles(double[] d, int off, int len)`
`void` | `writeFloats(float[] f, int off, int len)`
`void` | `writeInts(int[] i, int off, int len)`
`void` | `writeLongs(long[] l, int off, int len)`
`void` | `writeShorts(short[] s, int off, int len)`

Methods inherited from class javax.imageio.stream.ImageOutputStreamImpl
`flushBits, write, writeBit, writeBits, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF`

Methods inherited from class javax.imageio.stream.ImageInputStreamImpl
`checkClosed, finalize, flush, flushBefore, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, isCached, isCachedFile, isCachedMemory, mark, read, readBit, readBits, readBoolean, readByte, readBytes, readChar, readDouble, readFloat, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedInt, readUnsignedShort, readUTF, reset, setBitOffset, skipBytes, skipBytes`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface javax.imageio.stream.ImageOutputStream
`flushBefore`

Methods inherited from interface javax.imageio.stream.ImageInputStream
`flush, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, isCached, isCachedFile, isCachedMemory, mark, read, readBit, readBits, readBoolean, readByte, readBytes, readChar, readDouble, readFloat, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedInt, readUnsignedShort, readUTF, reset, setBitOffset, skipBytes, skipBytes`

Constructor Detail

### FileChannelImageOutputStream

    public FileChannelImageOutputStream(FileChannel channel)
                                 throws IOException

  Constructs a `FileChannelImageOutputStream` from a `FileChannel`. The initial position of the stream stream is taken to be the position of the `FileChannel` parameter when this constructor is invoked. The stream and flushed positions are therefore both initialized to `channel.position()`.

Parameters:
  `channel` - the destination `FileChannel`.
Throws:
  `IllegalArgumentException` - if `channel` is `null` or is not open.
  `IOException` - if a method invoked on `channel` throws an `IOException`.

Method Detail

### read

    public int read()
             throws IOException

  Specified by:
    `read` in interface `ImageInputStream`
  Specified by:
    `read` in class `ImageInputStreamImpl`
    `IOException`

### read

    public int read(byte[] b,
                    int off,
                    int len)
             throws IOException

  Specified by:
    `read` in interface `ImageInputStream`
  Specified by:
    `read` in class `ImageInputStreamImpl`
    `IOException`

### write

    public void write(int b)
               throws IOException

  Specified by:
    `write` in interface `ImageOutputStream`
  Specified by:
    `write` in class `ImageOutputStreamImpl`
    `IOException`

### write

    public void write(byte[] b,
                      int off,
                      int len)
               throws IOException

  Specified by:
    `write` in interface `ImageOutputStream`
  Specified by:
    `write` in class `ImageOutputStreamImpl`
    `IOException`

### readFully

    public void readFully(char[] c,
                          int off,
                          int len)
                   throws IOException

  Specified by:
    `readFully` in interface `ImageInputStream`
  Overrides:
    `readFully` in class `ImageInputStreamImpl`
    `IOException`

### readFully

    public void readFully(short[] s,
                          int off,
                          int len)
                   throws IOException

  Specified by:
    `readFully` in interface `ImageInputStream`
  Overrides:
    `readFully` in class `ImageInputStreamImpl`
    `IOException`

### readFully

    public void readFully(int[] i,
                          int off,
                          int len)
                   throws IOException

  Specified by:
    `readFully` in interface `ImageInputStream`
  Overrides:
    `readFully` in class `ImageInputStreamImpl`
    `IOException`

### readFully

    public void readFully(long[] l,
                          int off,
                          int len)
                   throws IOException

  Specified by:
    `readFully` in interface `ImageInputStream`
  Overrides:
    `readFully` in class `ImageInputStreamImpl`
    `IOException`

### readFully

    public void readFully(float[] f,
                          int off,
                          int len)
                   throws IOException

  Specified by:
    `readFully` in interface `ImageInputStream`
  Overrides:
    `readFully` in class `ImageInputStreamImpl`
    `IOException`

### readFully

    public void readFully(double[] d,
                          int off,
                          int len)
                   throws IOException

  Specified by:
    `readFully` in interface `ImageInputStream`
  Overrides:
    `readFully` in class `ImageInputStreamImpl`
    `IOException`

### writeChars

    public void writeChars(char[] c,
                           int off,
                           int len)
                    throws IOException

  Specified by:
    `writeChars` in interface `ImageOutputStream`
  Overrides:
    `writeChars` in class `ImageOutputStreamImpl`
    `IOException`

### writeShorts

    public void writeShorts(short[] s,
                            int off,
                            int len)
                     throws IOException

  Specified by:
    `writeShorts` in interface `ImageOutputStream`
  Overrides:
    `writeShorts` in class `ImageOutputStreamImpl`
    `IOException`

### writeInts

    public void writeInts(int[] i,
                          int off,
                          int len)
                   throws IOException

  Specified by:
    `writeInts` in interface `ImageOutputStream`
  Overrides:
    `writeInts` in class `ImageOutputStreamImpl`
    `IOException`

### writeLongs

    public void writeLongs(long[] l,
                           int off,
                           int len)
                    throws IOException

  Specified by:
    `writeLongs` in interface `ImageOutputStream`
  Overrides:
    `writeLongs` in class `ImageOutputStreamImpl`
    `IOException`

### writeFloats

    public void writeFloats(float[] f,
                            int off,
                            int len)
                     throws IOException

  Specified by:
    `writeFloats` in interface `ImageOutputStream`
  Overrides:
    `writeFloats` in class `ImageOutputStreamImpl`
    `IOException`

### writeDoubles

    public void writeDoubles(double[] d,
                             int off,
                             int len)
                      throws IOException

  Specified by:
    `writeDoubles` in interface `ImageOutputStream`
  Overrides:
    `writeDoubles` in class `ImageOutputStreamImpl`
    `IOException`

### close

    public void close()
               throws IOException

  Invokes the superclass method, writes any unwritten data, and sets the internal reference to the source `FileChannel` to `null`. The source `FileChannel` is not closed.

  Specified by:
    `close` in interface `ImageInputStream`
  Overrides:
    `close` in class `ImageInputStreamImpl`
  Throws:
    `IOException` - if an error occurs.

### length

    public long length()

  Returns the number of bytes currently in the `FileChannel`. If an `IOException` is encountered when querying the channel's size, -1L will be returned.

  Specified by:
    `length` in interface `ImageInputStream`
  Overrides:
    `length` in class `ImageInputStreamImpl`
  Returns:
    The number of bytes in the channel -1L to indicate unknown length.

### seek

    public void seek(long pos)
              throws IOException

  Invokes the superclass method, writes any unwritten data, and sets the channel position to the supplied parameter.

  Specified by:
    `seek` in interface `ImageInputStream`
  Overrides:
    `seek` in class `ImageInputStreamImpl`
    `IOException`

### setByteOrder

    public void setByteOrder(ByteOrder networkByteOrder)

  Specified by:
    `setByteOrder` in interface `ImageInputStream`
  Overrides:
    `setByteOrder` in class `ImageInputStreamImpl`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD