Tuesday, November 19, 2024
Google search engine
HomeLanguagesJavaBuffer mark() methods in Java with Examples

Buffer mark() methods in Java with Examples

The mark() method of java.nio.Buffer Class is used to set this buffer’s mark at its position.
Syntax: 
 

public Buffer mark()

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

Java




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

Java




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

RELATED ARTICLES

Most Popular

Recent Comments