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]

karthikeya Boyini
karthikeya Boyini

I love programming (: That's all I know

Updated on: 30-Jul-2019

272 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements