Java.io.PushbackReader.unread() Method
Description
The java.io.PushbackReader.unread(char[] cbuf,int off,int len) method pushes back a portion of an array of characters by copying it to the front of the pushback buffer. After this method returns, the next character to be read will have the value cbuf[off], the character after that will have the value cbuf[off+1], and so forth.
Declaration
Following is the declaration for java.io.PushbackReader.unread() method
public void unread(char[] cbuf,int off,int len)
Parameters
cbuf -- Character array to push back
off -- Offset of first character to push back
len -- Number of characters to push back
Return Value
This method does not return a value
Exception
IOException -- If there is insufficient room in the pushback buffer, or if some other I/O error occurs
Example
The following example shows the usage of java.io.PushbackReader.unread() method.
package com.tutorialspoint;
import java.io.*;
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();
// create a new array to unread
char cbuf[] = {'w', 'o', 'r', 'l', 'd'};
// unread into cbuf
pr.unread(cbuf, 1, 4);
// read 4 chars, which is what we unread from cbuf
for (int i = 0; i < 4; i++) {
char c = (char) pr.read();
System.out.print("" + c);
}
// close the stream
pr.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
Let us compile and run the above program, this will produce the following result:
Hello orld