javax.imageio.stream

## Class IIOByteBuffer

- java.lang.Object
- - javax.imageio.stream.IIOByteBuffer

-     public class IIOByteBuffer
      extends Object

  A class representing a mutable reference to an array of bytes and an offset and length within that array. `IIOByteBuffer` is used by `ImageInputStream` to supply a sequence of bytes to the caller, possibly with fewer copies than using the conventional `read` methods that take a user-supplied byte array.

  The byte array referenced by an `IIOByteBuffer` will generally be part of an internal data structure belonging to an `ImageReader` implementation; its contents should be considered read-only and must not be modified.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `IIOByteBuffer(byte[] data, int offset, int length)` | Constructs an `IIOByteBuffer` that references a given byte array, offset, and length.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `byte[]` | `getData()` | Returns a reference to the byte array.
    `int` | `getLength()` | Returns the length of the data of interest within the byte array returned by `getData`.
    `int` | `getOffset()` | Returns the offset within the byte array returned by `getData` at which the data of interest start.
    `void` | `setData(byte[] data)` | Updates the array reference that will be returned by subsequent calls to the `getData` method.
    `void` | `setLength(int length)` | Updates the value that will be returned by subsequent calls to the `getLength` method.
    `void` | `setOffset(int offset)` | Updates the value that will be returned by subsequent calls to the `getOffset` method.

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### IIOByteBuffer

          public IIOByteBuffer(byte[] data,
                               int offset,
                               int length)

      Constructs an `IIOByteBuffer` that references a given byte array, offset, and length.
      Parameters:
        `data` - a byte array.
        `offset` - an int offset within the array.
        `length` - an int specifying the length of the data of interest within byte array, in bytes.

  - ### Method Detail

    - #### getData

          public byte[] getData()

      Returns a reference to the byte array. The returned value should be treated as read-only, and only the portion specified by the values of `getOffset` and `getLength` should be used.
      Returns:
        a byte array reference.
      See Also:
        `getOffset()`, `getLength()`, `setData(byte[])`

    - #### setData

          public void setData(byte[] data)

      Updates the array reference that will be returned by subsequent calls to the `getData` method.
      Parameters:
        `data` - a byte array reference containing the new data value.
      See Also:
        `getData()`

    - #### getOffset

          public int getOffset()

      Returns the offset within the byte array returned by `getData` at which the data of interest start.
      Returns:
        an int offset.
      See Also:
        `getData()`, `getLength()`, `setOffset(int)`

    - #### setOffset

          public void setOffset(int offset)

      Updates the value that will be returned by subsequent calls to the `getOffset` method.
      Parameters:
        `offset` - an int containing the new offset value.
      See Also:
        `getOffset()`

    - #### getLength

          public int getLength()

      Returns the length of the data of interest within the byte array returned by `getData`.
      Returns:
        an int length.
      See Also:
        `getData()`, `getOffset()`, `setLength(int)`

    - #### setLength

          public void setLength(int length)

      Updates the value that will be returned by subsequent calls to the `getLength` method.
      Parameters:
        `length` - an int containing the new length value.
      See Also:
        `getLength()`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.