
- 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 markSupported() method
Description
The Java StringReader markSupported() method tells whether this stream supports the mark() operation, which it does.
Declaration
Following is the declaration for java.io.StringReader.markSupported() method.
public boolean markSupported()
Parameters
NA
Return Value
This method returns true if and only if this stream supports the mark operation.
Exception
NA
Example - Usage of StringReader markSupported() method
The following example shows the usage of StringReader markSupported() 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); } // change line System.out.println(); // print if mark is supported System.out.println("" + sr.markSupported()); // 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 true
Example - Checking if mark() is supported
The following example shows the usage of StringReader markSupported() method.
StringReaderDemo.java
package com.tutorialspoint; import java.io.StringReader; public class StringReaderDemo { public static void main(String[] args) { StringReader reader = new StringReader("Hello, world!"); System.out.println("Mark supported? " + reader.markSupported()); reader.close(); } }
Output
Let us compile and run the above program, this will produce the following result−
Mark supported? true
Explanation
This example simply checks if the StringReader supports marking (it does).
You can safely use mark() and reset() on this reader.
Example - Using markSupported() before using mark() and reset()
The following example shows the usage of StringReader markSupported() 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("abcdef"); if (reader.markSupported()) { reader.read(); // read 'a' reader.mark(10); // mark position after 'a' char b = (char) reader.read(); // 'b' char c = (char) reader.read(); // 'c' reader.reset(); // go back to after 'a' char b2 = (char) reader.read(); // should be 'b' again System.out.println("Read after reset: " + b2); } else { System.out.println("Mark not supported."); } reader.close(); } }
Output
Let us compile and run the above program, this will produce the following result−
Read after reset: b
Explanation
We use markSupported() to check if marking is safe.
After marking and reading 'b' and 'c', we reset and read 'b' again.
This confirms that marking and resetting work correctly in StringReader.