Java IO FilterReader
In this section we will learn about the FilterReader class in Java.
java.io.FilterReader is an abstract class provides the facility to read filtered character streams. Instance of this class can not be created directly. Subclasses of FilterReader may override methods of this class and may allow extra methods and fields.
Constructor of FilterReader
FilterReader(Reader in) | This constructor creates a new FilterReader. Syntax : protected FilterReader(Reader in) |
Methods in FilterReader
- close() : This method is used to close the stream as well
as to release the resources associated with the stream.
Syntax : public void close() throws IOException
- mark(int readAheadLimit) : This method is used to mark the
current position in the stream.
Syntax : public void mark(int readAheadLimit) throws IOException
- markSupported() : This method returns a boolean value which
specifies that whether this stream is supported by mark() method or not.
Syntax : public boolean markSupported()
- read() : This method is used to read a character.
Syntax : public int read() throws IOException
- read(char[] cbuf, int off, int len) : This method is used
to read the specified length of character at the specified position from a
specified char array.
Syntax : public int read(char[] cbuf, int off, int len) throws IOException
- ready() : This method returns boolean value which specifies
whether this stream is ready to be read or not.
Syntax : public boolean ready() throws IOException
- reset() : This method is used to reset the marked position
to the beginning.
Syntax : public void reset() throws IOException
- skip(long n) : This method is used to skip a specified
number of characters.
Syntax : public long skip(long n) throws IOException
Example
A simple example of FilterReader is being given here. In this example I have created a Java class named JavaFilterReaderExample.java. In this class I have used the FileReader class which provides a file as data source. Further in the core of this class tried to read the characters from the file. To read the the characters used read() method.
Source Code
JavaFilterReaderExample.java
import java.io.FilterReader; import java.io.FileReader; import java.io.Reader; import java.io.BufferedReader; import java.io.IOException; class JavaFilterReaderExample extends FilterReader { public JavaFilterReaderExample(Reader rdr) { super(rdr); } public static void main(String[] args) { FileReader fr = null; try { fr = new FileReader("file.txt"); int i; while((i= fr.read()) != -1) { System.out.print((char)i); } } catch(IOException e) { System.out.println(e); } finally { if(fr != null) { try { fr.close(); } catch(Exception e) { System.out.println(e); } } }// end finally }// end main }// end class
Output
When you will execute the above code then the output will be as follows :