
- Java.io - Home
- Java.io - BufferedInputStream
- Java.io - BufferedOutputStream
- Java.io - BufferedReader
- Java.io - BufferedWriter
- Java.io - ByteArrayInputStream
- Java.io - ByteArrayOutputStream
- Java.io - CharArrayReader
- Java.io - CharArrayWriter
- Java.io - Console
- Java.io - DataInputStream
- Java.io - DataOutputStream
- Java.io - File
- Java.io - FileDescriptor
- Java.io - FileInputStream
- Java.io - FileOutputStream
- Java.io - FilePermission
- Java.io - FileReader
- Java.io - FileWriter
- Java.io - FilterInputStream
- Java.io - FilterOutputStream
- Java.io - FilterReader
- Java.io - FilterWriter
- Java.io - InputStream
- Java.io - InputStreamReader
- Java.io - LineNumberInputStream
- Java.io - LineNumberReader
- Java.io - ObjectInputStream
- Java.io - ObjectInputStream.GetField
- Java.io - ObjectOutputStream
- io - ObjectOutputStream.PutField
- Java.io - ObjectStreamClass
- Java.io - ObjectStreamField
- Java.io - OutputStream
- Java.io - OutputStreamWriter
- Java.io - PipedInputStream
- Java.io - PipedOutputStream
- Java.io - PipedReader
- Java.io - PipedWriter
- Java.io - PrintStream
- Java.io - PrintWriter
- Java.io - PushbackInputStream
- Java.io - PushbackReader
- Java.io - RandomAccessFile
- Java.io - Reader
- Java.io - SequenceInputStream
- Java.io - SerializablePermission
- Java.io - StreamTokenizer
- Java.io - StringBufferInputStream
- Java.io - StringReader
- Java.io - StringWriter
- Java.io - Writer
- Java.io package Useful Resources
- Java.io - Discussion
Java - StringReader reset() method
Description
The Java StringReader reset() method resets the stream to the most recent mark, or to the beginning of the string if it has never been marked.
Declaration
Following is the declaration for java.io.StringReader.reset() method.
public void reset()
Parameters
NA
Return Value
This method does not return a value.
Exception
IOException − If an I/O error occurs.
Example - Usage of StringReader reset() method
The following example shows the usage of StringReader reset() method.
StringReaderDemo.java
package com.tutorialspoint; import java.io.IOException; import java.io.StringReader; public class StringReaderDemo { public static void main(String[] args) { String s = "Hello World"; // create a new StringReader StringReader sr = new StringReader(s); try { // read the first five chars for (int i = 0; i < 5; i++) { char c = (char) sr.read(); System.out.print(c); } // mark the reader at position 5 for maximum 6 sr.mark(6); // read the next six chars for (int i = 0; i < 6; i++) { char c = (char) sr.read(); System.out.print(c); } // reset back to marked position sr.reset(); // read again the next six chars for (int i = 0; i < 6; i++) { char c = (char) sr.read(); System.out.print(c); } // close the stream sr.close(); } catch (IOException ex) { ex.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result −
Hello World World
Example - Reset to the beginning without calling mark()
The following example shows the usage of StringReader reset() method.
StringReaderDemo.java
package com.tutorialspoint; import java.io.StringReader; public class StringReaderDemo { public static void main(String[] args) throws Exception { StringReader reader = new StringReader("Hello"); // Read first two characters System.out.print((char) reader.read()); System.out.print((char) reader.read()); // Reset to beginning reader.reset(); // Read again from beginning int ch; System.out.print(" (after reset) "); while ((ch = reader.read()) != -1) { System.out.print((char) ch); } reader.close(); } }
Output
Let us compile and run the above program, this will produce the following result−
He (after reset) Hello
Explanation
Without calling mark(), reset() defaults to the beginning.
It first reads 'H' and 'e', then resets and reads from the beginning again.
Example - Using mark() and reset() together
The following example shows the usage of StringReader reset() method.
StringReaderDemo.java
package com.tutorialspoint; import java.io.IOException; import java.io.StringReader; public class StringReaderDemo { public static void main(String[] args) throws IOException { StringReader reader = new StringReader("abcdef"); reader.read(); // Read 'a' reader.mark(100); // Mark after reading 'a' reader.read(); // 'b' reader.read(); // 'c' reader.reset(); // Back to position after 'a' // Read again after reset int ch; while ((ch = reader.read()) != -1) { System.out.print((char) ch); } reader.close(); } }
Output
Let us compile and run the above program, this will produce the following result−
Bcdef
Explanation
After reading 'a', we call mark().
Then we read 'b' and 'c', but reset() takes us back to just after 'a'.
The final output starts from 'b' and continues till the end.