Thursday, March 12, 2026
HomeLanguagesJavaByteBuffer reset() methods in Java with Examples

ByteBuffer reset() methods in Java with Examples

The reset() method of java.nio.ByteBuffer Class is used to reset this buffer’s position to the previously-marked position. Invoking this method neither changes nor discards the mark’s value.

Syntax:

public ByteBuffer reset()

Return Value: This method returns this buffer.

Below are the examples to illustrate the reset() method:

Examples 1:




// Java program to demonstrate
// reset() method
  
import java.nio.*;
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        try {
  
            byte[] barr = { 10, 20, 30, 40 };
  
            // creating object of ByteBuffer
            // and allocating size capacity
            ByteBuffer bb = ByteBuffer.wrap(barr);
  
            // try to set the position at index 2
            bb.position(2);
  
            // Set this buffer mark position
            // using mark() method
            bb.mark();
  
            // try to set the position at index 4
            bb.position(4);
  
            // display position
            System.out.println("position before reset: "
                               + bb.position());
  
            // try to call reset() to restore
            // to the position we marked
            bb.reset();
  
            // display position
            System.out.println("position after reset: "
                               + bb.position());
        }
  
        catch (InvalidMarkException e) {
            System.out.println("new position is less than "
                               + "the position we marked before ");
            System.out.println("Exception throws: " + e);
        }
    }
}


Output:

position before reset: 4
position after reset: 2

Examples 2:




// Java program to demonstrate
// reset() method
  
import java.nio.*;
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        try {
  
            byte[] barr = { 10, 20, 30, 40 };
  
            // creating object of ByteBuffer
            // and allocating size capacity
            ByteBuffer bb = ByteBuffer.wrap(barr);
  
            // try to set the position at index 2
            bb.position(2);
  
            // Set this buffer mark position
            // using mark() method
            bb.mark();
  
            // try to set the position at index 4
            bb.position(1);
  
            // display position
            System.out.println("position before reset: "
                               + bb.position());
  
            // try to call reset() to restore
            // to the position we marked
            bb.reset();
  
            // display position
            System.out.println("position after reset: "
                               + bb.position());
        }
  
        catch (InvalidMarkException e) {
            System.out.println("\nnew position is less than "
                               + "the position we marked before ");
            System.out.println("Exception throws: " + e);
        }
    }
}


Output:

position before reset: 1

new position is less than the position we marked before 
Exception throws: java.nio.InvalidMarkException

Reference: https://docs.oracle.com/javase/9/docs/api/java/nio/ByteBuffer.html#reset–

RELATED ARTICLES

1 COMMENT

Most Popular

Dominic
32506 POSTS0 COMMENTS
Milvus
131 POSTS0 COMMENTS
Nango Kala
6882 POSTS0 COMMENTS
Nicole Veronica
12005 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12099 POSTS0 COMMENTS
Shaida Kate Naidoo
7011 POSTS0 COMMENTS
Ted Musemwa
7255 POSTS0 COMMENTS
Thapelo Manthata
6967 POSTS0 COMMENTS
Umr Jansen
6956 POSTS0 COMMENTS