ByteBuffer array() method in Java

A byte array for the buffer can be obtained using the method array() in the class java.nio.ByteBuffer. If the returned array is modified, then the contents of the buffer are also similarly modified and vice versa. If the buffer is read-only, then the ReadOnlyBufferException is thrown.

A program that demonstrates this is given as follows −


 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(n);
         byte[] arr = buffer.array();
         System.out.println("The ByteBuffer is: " + Arrays.toString(arr));
      } catch (IllegalArgumentException e) {
         System.out.println("Error!!! IllegalArgumentException");
      } catch (ReadOnlyBufferException e) {
         System.out.println("Error!!! ReadOnlyBufferException");


The ByteBuffer is: [1, 2, 3, 4, 5]
Samual Sam
Samual Sam

Learning faster. Every day.