Java.io.Reader.reset() Method

Advertisements


Description

The java.io.Reader.reset() method resets the stream. If the stream has been marked, then attempt to reposition it at the mark. If the stream has not been marked, then attempt to reset it in some way appropriate to the particular stream, for example by repositioning it to its starting point.

Declaration

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

public void reset()

Parameters

  • NA

Return Value

This method does not return a value.

Exception

  • IOException -- If the stream has not been marked, or if the mark has been invalidated, or if the stream does not support reset(), or if some other I/O error occurs

Example

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

package com.tutorialspoint;

import java.io.*;

public class ReaderDemo {

   public static void main(String[] args) {

      String s = "Hello World";

      // create a new StringReader
      Reader reader = new StringReader(s);

      try {
         // read the first five chars
         for (int i = 0; i < 5; i++) {
            char c = (char) reader.read();
            System.out.print("" + c);
         }

         // mark current position for maximum of 10 characters
         reader.mark(10);

         // read five more chars
         for (int i = 0; i < 6; i++) {
            char c = (char) reader.read();
            System.out.print("" + c);
         }

         // reset back to the marked position
         reader.reset();

         // change line
         System.out.println();

         // read six more chars
         for (int i = 0; i < 6; i++) {
            char c = (char) reader.read();
            System.out.print("" + c);
         }

         // close the stream
         reader.close();

      } catch (IOException ex) {
         ex.printStackTrace();
      }
   }
}

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

Hello World
 World



Advertisements
Advertisements