Wednesday, July 3, 2024
HomeLanguagesJavaJava IO FileReader Class

Java IO FileReader Class

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

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!

Nokonwaba Nkukhwana
Experience as a skilled Java developer and proven expertise in using tools and technical developments to drive improvements throughout a entire software development life cycle. I have extensive industry and full life cycle experience in a java based environment, along with exceptional analytical, design and problem solving capabilities combined with excellent communication skills and ability to work alongside teams to define and refine new functionality. Currently working in springboot projects(microservices). Considering the fact that change is good, I am always keen to new challenges and growth to sharpen my skills.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments