Open In App

PushbackInputStream reset() method in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

The reset() method of PushbackInputStream class in Java is used to reset the steam to the position where mark() method was called. This method does nothing for PushbackInputStream. Syntax:

public void reset()
           throws IOException

Overrides: This method overrides the reset() method of FilterInputStream class. Parameters: This method does not accept any parameter. Return value: This method does not return any value. Exceptions: This method throws IOException whenever this method is called. Below programs illustrate reset() method of PushbackInputStream class in IO package: Program 1: 

Java




// Java program to illustrate
// PushbackInputStream reset() 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 reset() but it does nothing
        pushbackInputStr.reset();
    }
}


Output:

Exception in thread “main” java.io.IOException: mark/reset not supported GEEKS

Program 2: 

Java




// Java program to illustrate
// PushbackInputStream reset() 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 reset()
        pushbackInputStr.reset();
 
        for (int i = 0; i < byteArray.length; i++) {
            // Read the character
            System.out.print(
                (char)pushbackInputStr.read());
        }
    }
}


Output:

Exception in thread “main” java.io.IOException: mark/reset not supported

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



Last Updated : 22 Sep, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads