Last Updated : 12 Sep, 2023
Abstract class for reading filtered character streams. The abstract class FilterReader itself provides default methods that pass all requests to the contained stream. Subclasses of FilterReader should override some of these methods and may also provide additional methods and fields.
Constructor :Syntax :public void close() throws IOException Throws: IOException
Syntax :public void mark(int readAheadLimit) throws IOException 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. Throws: IOException
Syntax :public boolean markSupported() Returns: true if and only if this stream supports the mark operation.
Syntax :public int read() throws IOException Returns: The character read, as an integer in the range 0 to 65535 (0x00-0xffff), or -1 if the end of the stream has been reached Throws: IOException
Syntax :public int read(char[] cbuf, int off, int len) throws IOException Parameters: cbuf - Destination buffer off - Offset at which to start storing characters len - Maximum number of characters to read Returns: The number of characters read, or -1 if the end of the stream has been reached Throws: IOException
Syntax :public boolean ready() throws IOException Returns: True if the next read() is guaranteed not to block for input, false otherwise. Note that returning false does not guarantee that the next read will block. Throws: IOException
Syntax :public void reset() throws IOException Throws: IOException
Syntax :public long skip(long n) throws IOException Parameters: n - The number of characters to skip Returns: The number of characters actually skipped Throws: IOException
//Java program illustrating FilterReader class methods
import java.io.*;
class FilterReaderdemo
{
public static void main(String[] args) throws IOException
{
Reader r = new StringReader("GeeksforGeeks");
FilterReader fr = new FilterReader(r)
{
};
char ch[] = new char[8];
//illustrating markSupported()
if(fr.markSupported())
{
//illustrating mark() method
System.out.println("mark method is supported");
fr.mark(100);
}
//illustrating skip() method
fr.skip(5);
//illustrating ready()
if(fr.ready())
{
//illustrating read(char[] cbuff,int off,int len)
fr.read(ch);
for (int i = 0; i < 8; i++)
{
System.out.print(ch[i]);
}
//illustrating reset()
fr.reset();
for (int i = 0; i <5 ; i++)
{
//illustrating read()
System.out.print((char)fr.read());
}
}
//closing the stream
fr.close();
}
}
Output :
mark method is supported forGeeksGeeks
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4