ByteBuffer duplicate() method in Java


A duplicate buffer of a buffer can be created using the method duplicate() in the class java.nio.ByteBuffer. This duplicate buffer is identical to the original buffer. The method duplicate() returns the duplicate buffer that was created.

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 buffer1 = ByteBuffer.allocate(5);
         buffer1.put((byte)1);
         buffer1.put((byte)2);
         buffer1.put((byte)3);
         buffer1.put((byte)4);
         buffer1.put((byte)5);
         buffer1.rewind();
         System.out.println("The Original ByteBuffer is: " + Arrays.toString(buffer1.array()));
         ByteBuffer buffer2 = buffer1.duplicate();
         System.out.print("The Duplicate ByteBuffer is: " + Arrays.toString(buffer2.array()));
      } catch (IllegalArgumentException e) {
         System.out.println("Error!!! IllegalArgumentException");
      } catch (ReadOnlyBufferException e) {
         System.out.println("Error!!! ReadOnlyBufferException");
      }
   }
}

Output

The Original ByteBuffer is: [1, 2, 3, 4, 5]
The Duplicate ByteBuffer is: [1, 2, 3, 4, 5]

Updated on: 30-Jul-2019

305 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements