Last Updated : 05 Jun, 2020
The
mark()method of
BufferedReaderclass in Java is used to mark the current position in the buffer reader stream. The reset() method of the same
BufferedReaderclass 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 IOExceptionOverrides:
It overrides the mark() method of
Readerclass.
Parameters:This method accepts
readAheadLimitof 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.
Below programs illustrate mark() method in BufferedReader class in IO package.
Program 1:Assume the existence of the file "c:/demo.txt".
Java
// 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());
}
}
Output:
Char : G Char : E Char : E Char : K Char : K Char : SProgram 2:
Assume the existence of the file "c:/demo.txt".
Java
// 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());
}
}
Output:
Char : G Char : E Char : E Char : K Char : S Char : S Char : F Char : O Char : RReferences: https://docs.oracle.com/javase/10/docs/api/java/io/BufferedReader.html#mark(int)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4