Open In App

Buffer reset() methods in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

The reset() method of java.nio.Buffer 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 Buffer reset()

Return Value: This method returns this buffer.
Below are the examples to illustrate the reset() method:
Examples 1:
 

Java




// 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);
 
            // Typecast ByteBuffer to buffer
            Buffer buffer = (Buffer)bb;
 
            // try to set the position at index 2
            buffer.position(2);
 
            // Set this buffer mark position
            // using mark() method
            buffer.mark();
 
            // try to set the position at index 4
            buffer.position(4);
 
            // display position
            System.out.println("position before reset: "
                               + buffer.position());
 
            // try to call reset() to restore
            // to the position we marked
            buffer.reset();
 
            // display position
            System.out.println("position after reset: "
                               + buffer.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




// 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);
 
            // Typecast ByteBuffer to buffer
            Buffer buffer = (Buffer)bb;
 
            // try to set the position at index 2
            buffer.position(2);
 
            // Set this buffer mark position
            // using mark() method
            buffer.mark();
 
            // try to set the position at index 4
            buffer.position(1);
 
            // display position
            System.out.println("position before reset: "
                               + buffer.position());
 
            // try to call reset() to restore
            // to the position we marked
            buffer.reset();
 
            // display position
            System.out.println("position after reset: "
                               + buffer.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: 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/Buffer.html#reset–
 



Last Updated : 04 Feb, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads