The mark() method is a built-in method of the Java.io.ByteArrayInputStream marks the current position of the input stream. It sets readlimit i.e. maximum number of bytes that can be read before mark position becomes invalid.
Syntax:
public void mark(int arg)
Parameters: The function accepts a single mandatory parameter arg which specifies the maximum limit of bytes that can be read before the mark position becomes invalid.
Return Value: The function returns nothing.
Below is the implementation of the above function:
Program 1:
// Java program to implement // the above function import java.io.*;   public class Main {     public static void main(String[] args) throws Exception     {           byte [] buf = { 5 , 6 , 7 , 8 , 9 };           // Create new byte array input stream         ByteArrayInputStream exam             = new ByteArrayInputStream(buf);           // print bytes         System.out.println(exam.read());         System.out.println(exam.read());         System.out.println(exam.read());           System.out.println( "Mark() invocation" );           // mark() invocation;         exam.mark( 0 );         System.out.println(exam.read());         System.out.println(exam.read());     } } |
5 6 7 Mark() invocation 8 9
Program 2:
// Java program to implement // the above function import java.io.*;   public class Main {     public static void main(String[] args) throws Exception     {           byte [] buf = { 1 , 2 , 3 };           // Create new byte array input stream         ByteArrayInputStream exam             = new ByteArrayInputStream(buf);           // print bytes         System.out.println(exam.read());           System.out.println( "Mark() invocation" );           // mark() invocation;         exam.mark( 3 );         System.out.println(exam.read());         System.out.println(exam.read());     } } |
1 Mark() invocation 2 3
Reference: https://docs.oracle.com/javase/10/docs/api/java/io/ByteArrayInputStream.html#mark(int)