Java FileReader Example

The FileReader class of java.io package provides a seamless and easy-to-use way to read and analyse the contents of a file using Java. The FileReader class, works similar to the FileInputStream class because it reads the file data as a stream. However, unlike the latter which reads files as a stream of bytes, FileReader reads the input as a stream of characters. The operating procedure of FileReader is easy to comprehend as it reflects how anyone would read a document, or file, i.e. "as texts".

Let us look into how FileReader works in Java.

Constructors

The FileReader class in Java has three parameterized with which one can access and read a file. They are:

  • FileReader(File file) – This constructor creates an object of FileReader which accepts a java.io.File object as a parameter and opens it in default ‘Read’ mode.
  • FileReader(FileDescriptor descriptor) – This constructor creates an object of FileReader which accepts a java.io.FileDescriptor object as a parameter and opens the file referenced by the descriptor object in ‘Read’ mode.
  • FileReader(String filePath) – This constructor accepts a java.lang.String object as a parameter and opens the file referenced by the path or URI contained in the String

If the file is not found or cannot be opened, a FileNotFoundException is thrown.

Methods

The FileReader class contains helper methods that one can use to read the contents of a file. As the FileReader reads the file as a stream of characters, only one character is read at a time till the end of file.

Let us take a look at the methods we use to read files using FileReader.

  • public int read() throws IOException – The default read() method reads a character from the file and returns the integer value (ASCII) for the character read.
    It returns -1 when the end of file is reached.
  • public int read(char [] a,int offset, int length) – The overriden read() method reads the characters of the file from the offset into a character array(represented here by the variable ‘a’). It returns the number of characters read.
  • public void close() – The close method closes the FileReader object so that there is no resource leaks.

Example

Let us look at an example of reading a file with FileReader class.

Code:

Output:

Hey this is a sample text read using FileReader class.

In the above example, we read a file containing the text "Hey this is a sample text read using FileReader class" from a file ‘sample.txt’. We use the String parameterized constructor of FileReader class to obtain a FileReader object and then read the characters present in the file till End of File is reached(i.e. Character read is -1).

Was this post helpful?

Leave a Reply

Your email address will not be published. Required fields are marked *