
- 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 mark(int readAheadLimit) method
Description
The Java PushbackReader mark(int readAheadLimit) method marks the present position in the stream. The mark for class PushbackReader always throws an exception.
Declaration
Following is the declaration for java.io.PushbackReader.mark(int readAheadLimit) method.
public void mark(int readAheadLimit)
Parameters
readAheadLimit − Limit on the number of characters that may be read while still preserving the mark. After reading this many characters, attempting to reset the stream may fail.
Return Value
This method does not return a value.
Exception
IOException − Always, since mark is not supported.
Example - Usage of PushbackReader mark(int readAheadLimit) method
The following example shows the usage of PushbackReader mark(int readAheadLimit) 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(); // mark the current position results in exception pr.mark(5); // 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 java.io.IOException: mark/reset not supported
Example - Directly calling mark() on PushbackReader
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, world!"))) { System.out.println("markSupported: " + reader.markSupported()); // false reader.mark(10); // This line will throw IOException } catch (IOException e) { System.out.println("Exception caught: " + e.getMessage()); } } }
Output
Let us compile and run the above program, this will produce the following result−
markSupported: false Exception caught: mark/reset not supported
Example - Try to use mark-reset logic with PushbackReader
The following example shows the usage of PushbackReader mark(int readAheadLimit) 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("Java"))) { reader.mark(100); // Attempting to mark char[] buffer = new char[4]; reader.read(buffer); reader.reset(); // Will not reach this; mark() already throws } catch (IOException e) { System.out.println("Caught IOException: " + e.getMessage()); } } }
Output
Let us compile and run the above program, this will produce the following result−
Caught IOException: mark/reset not supported