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.

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
import java.io.*;
class GFG {
public static void main(String[] args)
{
try {
FileReader fileReader
= new FileReader( "gfg.txt" );
System.out.println( "Reading char by char : \n" );
int i;
while ((i = fileReader.read()) != - 1 ) {
System.out.print(( char )i);
}
System.out.println( "Reading using array : \n" );
char [] charArray = new char [ 10 ];
fileReader.read(charArray);
System.out.print(charArray);
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!
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
21 May, 2023
Like Article
Save Article