FileReader in Java is a class in the java.io package which can be used to read a stream of characters from the files. Java IO FileReader class uses either specified charset or the platform’s default charset for decoding from bytes to characters.
1. Charset:
The Charset class is used to define methods for producing encoders and decoders and for recovering several names combined with the charset.
2. Default Charset:
The default charset is defined during implicit computer start-up and it depends on the locale and charset of the underlying operating system.
The following image shows the Hierarchical Flow of FileReader class.
Constructors of Java FileReader Class
The Constructors inside FileReader are shown in the table below.
Constructor |
Description |
---|---|
FileReader(File file) | Creates a new FileReader with the the given File to read (using default charset) |
FileReader(FileDescriptor fd) | Creates a new FileReader with given FileDescriptor to read (using default charset) |
FileReader(File file, Charset charset) | Creates a new FileReader with a given File to read (using the given charset) |
FileReader(String filename) | Creates a new FileReader with a a given FileName to read (using default charset) |
FileReader(String filename, Charset charset) | Creates a new FileReader with given File to read (using the given charset) |
Methods of Java FileReader Class
The methods under FileReader are shown in the table below.
S. No. | Method | Description |
---|---|---|
1 | read() | The read() method reads and passes a single character or -1 if the stream is ended. |
2 | read(char[] charBuffer, int offset, int length) | It reads a stream of characters and stores them in the given Character Buffer. Offset is the position at which it starts reading and Length is the total number of characters to be read. It passes plenty of characters read or -1 if the stream is ended. |
3 | ready() | It tells whether the stream is ready to be read. A stream is said to be ready if its input buffer is not blank or empty. |
4 | getEncoding() | The getEncoding() is used to return the title of the character encoding which is being used by the stream. |
5 | close() | It closes the stream and releases the system resources associated with it. |
Example of FileReader Class in Java
Java
// Java program to show the usage of // IO FileReader Class import java.io.*; // Driver Class class GFG { // main function public static void main(String[] args) { try { // FileReader Class used FileReader fileReader = new FileReader( "gfg.txt" ); System.out.println( "Reading char by char : \n" ); int i; // Using read method while ((i = fileReader.read()) != - 1 ) { System.out.print(( char )i); } System.out.println( "Reading using array : \n" ); char [] charArray = new char [ 10 ]; // Using read method for to get character array fileReader.read(charArray); System.out.print(charArray); // Close method called fileReader.close(); System.out.println( "FileReader closed!" ); } catch (Exception e) { System.out.println(e); } } } |
Output
Reading char by char : GeeksForGeeks Reading using array : GeeksForGeeks FileReader closed!