Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright 2012-04-26 Werner Randelshofer
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.monte.media.io
Class ByteArrayImageInputStream

    java.lang.Object
      javax.imageio.stream.ImageInputStreamImpl
          org.monte.media.io.ImageInputStreamImpl2
              org.monte.media.io.ByteArrayImageInputStream

All Implemented Interfaces:
  java.io.DataInput, javax.imageio.stream.ImageInputStream

    public class ByteArrayImageInputStream

extends ImageInputStreamImpl2

A `ByteArrayImageInputStream` contains an internal buffer that contains bytes that may be read from the stream. An internal counter keeps track of the next byte to be supplied by the `read` method.

Closing a `ByteArrayImageInputStream` has no effect. The methods in this class can be called after the stream has been closed without generating an `IOException`.

Version:
  $Id: ByteArrayImageInputStream.java 134 2011-12-02 16:23:00Z werner $
Author:
  Werner Randelshofer, Hausmatt 10, CH-6405 Immensee

Field Summary
`protected byte[]` | `buf` An array of bytes that was provided by the creator of the stream.
`protected int` | `count` The index one greater than the last valid character in the input stream buffer.

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

Constructor Summary
`ByteArrayImageInputStream(byte[] buf)`
`ByteArrayImageInputStream(byte[] buf, java.nio.ByteOrder byteOrder)`
`ByteArrayImageInputStream(byte[] buf, int offset, int length, java.nio.ByteOrder byteOrder)`

Method Summary
`int` | `available()` Returns the number of remaining bytes that can be read (or skipped over) from this input stream.
`void` | `close()` Closing a `ByteArrayInputStream` has no effect.
`long` | `getStreamPosition()`
`long` | `length()`
`int` | `read()` Reads the next byte of data from this input stream.
`int` | `read(byte[] b, int off, int len)` Reads up to `len` bytes of data into an array of bytes from this input stream.
`void` | `seek(long pos)`
`long` | `skip(long n)` Skips `n` bytes of input from this input stream.

Methods inherited from class org.monte.media.io.ImageInputStreamImpl2
`readInt, readShort`

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

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

Field Detail

### buf

    protected byte[] buf

  An array of bytes that was provided by the creator of the stream. Elements `buf[0]` through `buf[count-1]` are the only bytes that can ever be read from the stream; element `buf[streamPos]` is the next byte to be read.

### count

    protected int count

  The index one greater than the last valid character in the input stream buffer. This value should always be nonnegative and not larger than the length of `buf`. It is one greater than the position of the last byte within `buf` that can ever be read from the input stream buffer.

Constructor Detail

### ByteArrayImageInputStream

    public ByteArrayImageInputStream(byte[] buf)

### ByteArrayImageInputStream

    public ByteArrayImageInputStream(byte[] buf,
                                     java.nio.ByteOrder byteOrder)

### ByteArrayImageInputStream

    public ByteArrayImageInputStream(byte[] buf,
                                     int offset,
                                     int length,
                                     java.nio.ByteOrder byteOrder)

Method Detail

### read

    public int read()

  Reads the next byte of data from this input stream. The value byte is returned as an `int` in the range `0` to `255`. If no byte is available because the end of the stream has been reached, the value `-1` is returned.

  This `read` method cannot block.

  Specified by:
    `read` in interface `javax.imageio.stream.ImageInputStream`
  Specified by:
    `read` in class `javax.imageio.stream.ImageInputStreamImpl`
  Returns:
    the next byte of data, or `-1` if the end of the stream has been reached.

### read

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

  Reads up to `len` bytes of data into an array of bytes from this input stream. If `streamPos` equals `count`, then `-1` is returned to indicate end of file. Otherwise, the number `k` of bytes read is equal to the smaller of `len` and `count-streamPos`. If `k` is positive, then bytes `buf[streamPos]` through `buf[streamPos+k-1]` are copied into `b[off]` through `b[off+k-1]` in the manner performed by `System.arraycopy`. The value `k` is added into `streamPos` and `k` is returned.

  This `read` method cannot block.

  Specified by:
    `read` in interface `javax.imageio.stream.ImageInputStream`
  Specified by:
    `read` in class `javax.imageio.stream.ImageInputStreamImpl`
  Parameters:
    `b` - the buffer into which the data is read.
    `off` - the start offset in the destination array `b`
    `len` - the maximum number of bytes read.
  Returns:
    the total number of bytes read into the buffer, or `-1` if there is no more data because the end of the stream has been reached.
  Throws:
    `java.lang.NullPointerException` - If `b` is `null`.
    `java.lang.IndexOutOfBoundsException` - If `off` is negative, `len` is negative, or `len` is greater than `b.length - off`

### skip

    public long skip(long n)

  Skips `n` bytes of input from this input stream. Fewer bytes might be skipped if the end of the input stream is reached. The actual number `k` of bytes to be skipped is equal to the smaller of `n` and `count-streamPos`. The value `k` is added into `streamPos` and `k` is returned.

  Parameters:
    `n` - the number of bytes to be skipped.
  Returns:
    the actual number of bytes skipped.

### available

    public int available()

  Returns the number of remaining bytes that can be read (or skipped over) from this input stream.

  The value returned is `count - streamPos`, which is the number of bytes remaining to be read from the input buffer.

  Returns:
    the number of remaining bytes that can be read (or skipped over) from this input stream without blocking.

### close

    public void close()

  Closing a `ByteArrayInputStream` has no effect. The methods in this class can be called after the stream has been closed without generating an `IOException`.

  Specified by:
    `close` in interface `javax.imageio.stream.ImageInputStream`
  Overrides:
    `close` in class `javax.imageio.stream.ImageInputStreamImpl`

### getStreamPosition

    public long getStreamPosition()
                           throws java.io.IOException

  Specified by:
    `getStreamPosition` in interface `javax.imageio.stream.ImageInputStream`
  Overrides:
    `getStreamPosition` in class `javax.imageio.stream.ImageInputStreamImpl`
  Throws:
    `java.io.IOException`

### seek

    public void seek(long pos)
              throws java.io.IOException

  Specified by:
    `seek` in interface `javax.imageio.stream.ImageInputStream`
  Overrides:
    `seek` in class `javax.imageio.stream.ImageInputStreamImpl`
  Throws:
    `java.io.IOException`

### length

    public long length()

  Specified by:
    `length` in interface `javax.imageio.stream.ImageInputStream`
  Overrides:
    `length` in class `javax.imageio.stream.ImageInputStreamImpl`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright 2012-04-26 Werner Randelshofer
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD