Home »
Java programming language
Java InputStream mark() Method with Example
InputStream Class mark() method: Here, we are going to learn about the mark() method of InputStream Class with its syntax and example.
Submitted by Preeti Jain, on April 03, 2020
InputStream Class mark() method
- mark() method is available in java.io package.
- mark() method is used to mark the present position in this InputStream and when we call to reset() method it reset the stream to the position set by the most recent call of mark() method.
- mark() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
- mark() method does not throw an exception at the time of marking the stream.
Syntax:
public void mark(int r_limit);
Parameter(s):
- int r_limit – represents the maximum number of bytes that can be read before the mark gets invalid.
Return value:
The return type of the method is void, it returns nothing.
Example:
// Java program to demonstrate the example
// of void mark(int r_limit) method
// of InputStream
import java.io.*;
public class MarkOfIS {
public static void main(String[] args) throws Exception {
InputStream is_stm = null;
int val = 0;
try {
// Instantiates FileInputStream
is_stm = new FileInputStream("D:\\includehelp.txt");
// By using read() method isto
// read the character from is_stm
char ch1 = (char) is_stm.read();
char ch2 = (char) is_stm.read();
System.out.println("ch1: " + ch1);
System.out.println("ch2: " + ch2);
// By using mark() method isto
// set the current position in this
// is_stm
System.out.println("is_stm.mark(0): ");
is_stm.mark(0);
char ch3 = (char) is_stm.read();
char ch4 = (char) is_stm.read();
System.out.println("ch3: " + ch3);
System.out.println("ch4: " + ch4);
// By using reset() method isto
// reset the stream to the position
// set by the call mark() method
System.out.println("is_stm.reset(): ");
is_stm.reset();
char ch5 = (char) is_stm.read();
char ch6 = (char) is_stm.read();
System.out.println("ch3: " + ch5);
System.out.println("ch4: " + ch6);
} catch (Exception ex) {
System.out.println("Reset Not Supported");
} finally {
// with the help of this block is to
// free all necessary resources linked
// with the stream
if (is_stm != null) {
is_stm.close();
}
}
}
}
Output
ch1: J
ch2: A
is_stm.mark(0):
ch3: V
ch4: A
is_stm.reset():
Reset Not Supported