Skip to content
Related Articles

Related Articles

Improve Article

PushbackInputStream mark() method in Java with Examples

  • Last Updated : 05 Jun, 2020

The mark() method of PushbackInputStream class in Java is used to mark the current position in the input stream. This method does nothing for PushbackInputStream.

Syntax:

public void mark(int readlimit)

Overrides: This method overrides the mark() method of FilterInputStream class.

Parameters: This method accepts single parameter readlimit that represents the 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 does not throw any exception.

Below programs illustrate mark() method of PushbackInputStream class in IO package:

Program 1:




// Java program to illustrate
// PushbackInputStream mark() method
  
import java.io.*;
  
public class GFG {
    public static void main(String[] args)
        throws IOException
    {
  
        // Create an array
        byte[] byteArray
            = new byte[] { 'G', 'E', 'E',
                           'K', 'S' };
  
        // Create inputStream
        InputStream inputStr
            = new ByteArrayInputStream(byteArray);
  
        // Create object of
        // PushbackInputStream
        PushbackInputStream pushbackInputStr
            = new PushbackInputStream(inputStr);
  
        for (int i = 0; i < byteArray.length; i++) {
            // Read the character
            System.out.print(
                (char)pushbackInputStr.read());
        }
  
        // Revoke mark() but it does nothing
        pushbackInputStr.mark(5);
    }
}
Output:
GEEKS

Program 2:




// Java program to illustrate
// PushbackInputStream mark() method
  
import java.io.*;
  
public class GFG {
    public static void main(String[] args)
        throws IOException
    {
  
        // Create an array
        byte[] byteArray
            = new byte[] { 'H', 'E', 'L',
                           'L', 'O' };
  
        // Create inputStream
        InputStream inputStr
            = new ByteArrayInputStream(byteArray);
  
        // Create object of
        // PushbackInputStream
        PushbackInputStream pushbackInputStr
            = new PushbackInputStream(inputStr);
  
        // Revoke mark()
        pushbackInputStr.mark(1);
  
        for (int i = 0; i < byteArray.length; i++) {
            // Read the character
            System.out.print(
                (char)pushbackInputStr.read());
        }
    }
}
Output:
HELLO

References:
https://docs.oracle.com/javase/10/docs/api/java/io/PushbackInputStream.html#mark(int)

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :