
- 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 - PushbackInputStream markSupported() method
Description
The Java PushbackInputStream markSupported() method tests if this input stream supports the mark and reset methods, which it does not.
The markSupported() method
Returns false for PushbackInputStream because it does not support the mark() and reset() methods.
This method is useful when working with generic InputStream references to check if mark/reset can be used.
Declaration
Following is the declaration for java.io.PushbackInputStream.markSupported() method.
public boolean markSupported()
Parameters
NA
Return Value
This method returns false, since this class does not support the mark and reset methods.
Exception
NA
Example - Usage of PushbackInputStream markSupported() method
The following example shows the usage of PushbackInputStream markSupported() method.
PushbackInputStreamDemo.java
package com.tutorialspoint; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.PushbackInputStream; public class PushbackInputStreamDemo { public static void main(String[] args) { // declare a buffer and initialize its size: byte[] arrByte = new byte[1024]; // create an array for our message byte[] byteArray = new byte[]{'H', 'e', 'l', 'l', 'o'}; // create object of PushbackInputStream class for specified stream InputStream is = new ByteArrayInputStream(byteArray); PushbackInputStream pis = new PushbackInputStream(is); // check if mark is supported System.out.println("" + pis.markSupported()); try { // read from the buffer one character at a time for (int i = 0; i < byteArray.length; i++) { // read a char into our array arrByte[i] = (byte) pis.read(); // display the read byte System.out.print((char) arrByte[i]); } } catch (Exception ex) { ex.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result −
false Hello
Example - Directly checking markSupported()
The following example shows the usage of PushbackInputStream markSupported() method.
PushbackInputStreamDemo.java
package com.tutorialspoint; import java.io.ByteArrayInputStream; import java.io.PushbackInputStream; public class PushbackInputStreamDemo { public static void main(String[] args) { byte[] data = "Hello".getBytes(); PushbackInputStream pbis = new PushbackInputStream(new ByteArrayInputStream(data)); System.out.println("Does PushbackInputStream support mark()? " + pbis.markSupported()); // Output: false } }
Output
Let us compile and run the above program, this will produce the following result−
Does PushbackInputStream support mark()? false
Explanation
This example directly checks if mark() is supported.
Output will be false because PushbackInputStream doesn't implement mark/reset behavior.
Example - Conditional usage based on markSupported()
The following example shows the usage of PushbackInputStream markSupported() method.
PushbackInputStreamDemo.java
package com.tutorialspoint; import java.io.ByteArrayInputStream; import java.io.PushbackInputStream; public class PushbackInputStreamDemo { public static void main(String[] args) { byte[] data = "Mark Test".getBytes(); PushbackInputStream pbis = new PushbackInputStream(new ByteArrayInputStream(data)); if (pbis.markSupported()) { pbis.mark(5); // This will never be called System.out.println("mark() is supported."); } else { System.out.println("mark() is NOT supported. Use unread() instead."); } } }
Output
Let us compile and run the above program, this will produce the following result−
mark() is NOT supported. Use unread() instead.
Explanation
This shows how to check before calling mark() to avoid incorrect assumptions.
Since markSupported() returns false, we suggest using unread() as a more appropriate alternative for limited pushback functionality.