BufferedReader mark() method in Java with Examples - GeeksforGeeks

05 Jun, 2020
The mark() method of BufferedReader class in Java is used to mark the current position in the buffer reader stream. The reset() method of the same BufferedReader class is also called subsequently, after the mark() method is called. The reset() method fixes the position at the last marked position so that same byte can be read again.
Syntax:
public void mark(int readAheadLimit) 
                   throws IOException

Overrides: It overrides the mark() method of Reader class.
Parameters: This method accepts readAheadLimit of Integer type which represents the maximum limit of bytes that can be read before the mark position becomes invalid.
Return value: This method does not return any value.
Exceptions: This method can throw two types of exceptions.
IllegalArgumentException – This exception is thrown if the passed parameter readAheadLimit is less than zero.
IOException – This exception is thrown if an I/O error occurs.
Below programs illustrate mark() method in BufferedReader class in IO package.Program 1: Assume the existence of the file “c:/demo.txt”.
// Java program to illustrate// BufferedReader mark() method  import java.io.*;  public class GFG {    public static void main(String[] args)    {          // Read the stream 'demo.txt'        // for containing text "GEEKS"        FileReader fileReader            = new FileReader(                "c:/demo.txt");          // Convert fileReader to        // bufferedReader        BufferedReader buffReader            = new BufferedReader(                fileReader);          // Read and print characters        // one by one        System.out.println(            "Char : "            + (char)buffReader.read());        System.out.println(            "Char : "            + (char)buffReader.read());        System.out.println(            "Char : "            + (char)buffReader.read());          // Mark is set on the stream        buffReader.mark(0);          System.out.println(            "Char : "            + (char)buffReader.read());          // Reset() is invoked        buffReader.reset();          // Read and print characters        System.out.println(            "Char : "            + (char)buffReader.read());        System.out.println(            "Char : "            + (char)buffReader.read());    }}
Char : G
Char : E
Char : E
Char : K
Char : K
Char : S

Program 2: Assume the existence of the file “c:/demo.txt”.
// Java program to illustrate// BufferedReader mark() method  import java.io.*;public class GFG {    public static void main(String[] args)    {          // Read the stream 'demo.txt'        // containing text "GEEKSFORGEEKS"        FileReader fileReader            = new FileReader(                "c:/demo.txt");          // Convert fileReader to        // bufferedReader        BufferedReader buffReader            = new BufferedReader(                fileReader);          // Read and print characters        // one by one        System.out.println(            "Char : "            + (char)buffReader.read());        System.out.println(            "Char : "            + (char)buffReader.read());        System.out.println(            "Char : "            + (char)buffReader.read());        System.out.println(            "Char : "            + (char)buffReader.read());          // Mark is set on the stream        buffReader.mark(0);          System.out.println(            "Char : "            + (char)buffReader.read());          // Reset() is invoked        buffReader.reset();          // read and print characters        System.out.println(            "Char : "            + (char)buffReader.read());        System.out.println(            "Char : "            + (char)buffReader.read());        System.out.println(            "Char : "            + (char)buffReader.read());        System.out.println(            "Char : "            + (char)buffReader.read());    }}
Char : G
Char : E
Char : E
Char : K
Char : S
Char : S
Char : F
Char : O
Char : R

References:https://docs.oracle.com/javase/10/docs/api/java/io/BufferedReader.html#mark(int)
Java-Functions
Java-IO package
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Initialize an ArrayList in Java
Object Oriented Programming (OOPs) Concept in Java
HashMap in Java with Examples
Interfaces in Java
ArrayList in Java
How to iterate any Map in Java
Multidimensional Arrays in Java
Stack Class in Java
Singleton Class in Java
Set in Java