ByteBuffer arrayOffset() method in Java

Java 8Object Oriented ProgrammingProgramming

The offset of the first element of the buffer inside the buffer array is obtained using the method arrayOffset() in the class java.nio.ByteBuffer. If the buffer backed by the array is read-only, then the ReadOnlyBufferException is thrown.

A program that demonstrates this is given as follows −

Example

 Live Demo

import java.nio.*;
import java.util.*;
public class Demo {
   public static void main(String[] args) {
      int n = 5;
      try {
         ByteBuffer buffer = ByteBuffer.allocate(5);
         buffer.put((byte)1);
         buffer.put((byte)2);
         buffer.put((byte)3);
         buffer.put((byte)4);
         buffer.put((byte)5);
         buffer.rewind();
         System.out.println("The ByteBuffer is: " + Arrays.toString(buffer.array()));
         System.out.println("The arrayOffset is: " + buffer.arrayOffset());
      } catch (IllegalArgumentException e) {
         System.out.println("Error!!! IllegalArgumentException");
      } catch (ReadOnlyBufferException e) {
         System.out.println("Error!!! ReadOnlyBufferException");
      }
   }
}

Output

The ByteBuffer is: [1, 2, 3, 4, 5]
The arrayOffset is: 0
raja
Updated on 30-Jul-2019 22:30:25

Advertisements