Java.io.InputStream.reset() Method



Description

The java.io.InputStream.reset() method repositions this stream to the position at the time the mark method was last called on this input stream.

Declaration

Following is the declaration for java.io.InputStream.reset() method −

public void reset()

Parameters

NA

Return Value

The method does not return any value.

Exception

IOException − If an I/O error occurs.

Example

The following example shows the usage of java.io.InputStream.reset() method.

package com.tutorialspoint;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;

public class InputStreamDemo {
   public static void main(String[] args) throws Exception {
      InputStream is = null;

      try {
         // new input stream created
         is = new FileInputStream("C://test.txt");
         
         System.out.println("Characters printed:");
         // create new buffered reader
         
         // reads and prints BufferedReader
         System.out.println((char)is.read());
         System.out.println((char)is.read());
         
         // mark invoked at this position
         is.mark(0);
         System.out.println("mark() invoked");
         System.out.println((char)is.read());
         System.out.println((char)is.read());

         // reset() repositioned the stream to the mark
         if(is.markSupported()) {
            is.reset();
            System.out.println("reset() invoked");
            System.out.println((char)is.read());
            System.out.println((char)is.read());
         } else {
            System.out.print("InputStream does not support reset()");
         }
         
      } catch(Exception e) {
         // if any I/O error occurs
         e.printStackTrace();
      } finally {
         // releases system resources associated with this stream
         if(is!=null)
            is.close();
      }
   }
}

Assuming we have a text file c:/test.txt, which has the following content. This file will be used as an input for our example program −

ABCDE

Let us compile and run the above program, this will produce the following result −

Characters printed:
A
B
mark() invoked
C
D
InputStream does not support reset()
java_io_inputstream.htm
Advertisements