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 FileChannelImageInputStream

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

All Implemented Interfaces:
  DataInput, ImageInputStream

public class FileChannelImageInputStream
extends ImageInputStreamImpl

A class which implements `ImageInputStream` using a `FileChannel` as the eventual data source. The channel contents are assumed to be stable during the lifetime of the object.

Memory mapping and new I/O view `Buffer`s are used to read the data. 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:
  `ImageInputStream`, java.nio, `FileChannel`

Field Summary

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

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

Method Summary
`void` | `close()` Invokes the superclass method 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 and sets the position within the memory mapped buffer.
`void` | `setByteOrder(ByteOrder networkByteOrder)`

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`

Constructor Detail

### FileChannelImageInputStream

    public FileChannelImageInputStream(FileChannel channel)
                                throws IOException

  Constructs a `FileChannelImageInputStream` 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 source `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`

### close

    public void close()
               throws IOException

  Invokes the superclass method 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.

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

### 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 and sets the position within the memory mapped buffer. A new region is mapped if necessary. The position of the source `FileChannel` is not changed, i.e., `FileChannel.position(long)` is not invoked.

  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