
- 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 - PushbackReader markSupported() method
Description
The Java PushbackReader markSupported() method tells whether this stream supports the mark() operation, which it does not.
markSupported() method −
This method tells whether the mark() and reset() methods are supported by the stream.
For PushbackReader, it always returns false.
Useful to check before using mark() to avoid exceptions.
Declaration
Following is the declaration for java.io.PushbackReader.markSupported() method.
public boolean markSupported()
Parameters
NA
Return Value
This method returns false as mark() operation is not supported.
Exception
NA
Example - Usage of PushbackReader markSupported() method
The following example shows the usage of PushbackReader markSupported() method.
PushbackReaderDemo.java
package com.tutorialspoint; import java.io.IOException; import java.io.PushbackReader; import java.io.StringReader; public class PushbackReaderDemo { public static void main(String[] args) { String s = "Hello World"; // create a new StringReader StringReader sr = new StringReader(s); // create a new PushBack reader based on our string reader PushbackReader pr = new PushbackReader(sr, 20); try { // read the first five chars for (int i = 0; i < 5; i++) { char c = (char) pr.read(); System.out.print("" + c); } // change line System.out.println(); // check if mark is supported by this class System.out.println("" + pr.markSupported()); // close the stream pr.close(); } catch (IOException ex) { ex.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result −
Hello false
Example - Checking markSupported() Before Marking
The following example shows the usage of PushbackReader markSupported() method.
PushbackReaderDemo.java
package com.tutorialspoint; import java.io.IOException; import java.io.PushbackReader; import java.io.StringReader; public class PushbackReaderDemo { public static void main(String[] args) { try (PushbackReader reader = new PushbackReader(new StringReader("Hello"))) { if (reader.markSupported()) { reader.mark(10); System.out.println("Mark set."); } else { System.out.println("Mark/reset not supported on PushbackReader."); } } catch (IOException e) { e.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result−
Mark/reset not supported on PushbackReader.
Explanation
markSupported() is called to check if mark() is usable.
Since PushbackReader does not support it, a warning is printed instead of throwing an exception.
Example - Attempting Mark Without Checking markSupported()
The following example shows the usage of PushbackReader markSupported() method.
PushbackReaderDemo.java
package com.tutorialspoint; import java.io.IOException; import java.io.PushbackReader; import java.io.StringReader; public class PushbackReaderDemo { public static void main(String[] args) { try (PushbackReader reader = new PushbackReader(new StringReader("World"))) { System.out.println("markSupported: " + reader.markSupported()); // false // Attempting to mark anyway â will throw IOException reader.mark(5); } catch (IOException e) { System.out.println("Exception occurred: " + e.getMessage()); } } }
Output
Let us compile and run the above program, this will produce the following result−
markSupported: false Exception occurred: mark/reset not supported
Explanation
Shows how skipping markSupported() leads to an exception.
Demonstrates the importance of checking before calling mark().