Java FileReader Example

The FileReader class of 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.


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 object as a parameter and opens it in default ‘Read’ mode.
  • FileReader(FileDescriptor descriptor)This constructor creates an object of FileReader which accepts a 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.


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.


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



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).

Related Posts

  • Learn java students
    01 September

    Is It Promising for Students to Learn Java?

    Table of ContentsWhat Is Java?How It Was Developed?Reasons Students Should Learn JavaWhere Is It Used?Who Can You Work With?Where Exactly Can Java Be Learned? Coding has become a very important part of the job industry, taking over almost every profession. You are required to have a basic knowledge of languages like HTML and CSS, if […]

  • Get current year in java
    13 July

    Get current year in Java

    Table of ContentsUsing Date and SimpleDateFormatUsing CalendarUsing LocalDateUsing LocalDateTimeusing ZonedDateTimeUsing OffsetDateTimeUsing Instant and ZoneIdUsing Instant and ZoneOffsetConclusion In this post, we will see how to get current year in Java. Using Date and SimpleDateFormat The Date class was introduced in Java 1.0 and provided different approaches to work with time. The SimpleDateFormat inherits from DateFormat […]

  • 27 March

    Top Object-Oriented Programming Languages to Follow in 2021

    Table of ContentsJavaProsConsWhere ApplicableC/C++ProsConsWhere ApplicablePythonProsConsWhere ApplicableJavaScriptProsConsWhere ApplicableR LanguageProsConsWhere ApplicableConclusion Wherever you look, you face object-oriented programming languages. Well, many of the popular coding languages are object-oriented. The moment you decide to learn an object-oriented programming language, it might be quite overwhelming to pick the only one from this big pool of options. But don’t worry! […]

  • How to end program in java
    08 March

    How to end program in java

    Table of ContentsUsing System.exit() to end java programExample to demonstrate System.exit() methodHow to end java program in an if statement in javaUsing return to end current method Ho In this post, we will see how to end program in java. You can use System.exit(0) to end program in java. Using System.exit() to end java program […]

  • 02 January

    System.out.println shortcut in eclipse

    Learn about System.out.println shortcut in eclipse.

  • 19 September

    Java 9 – Anonymous Inner classes and Diamond Operator

    Table of ContentsAnonymous class: Java 9 ImprovementExample: Anonymous class with diamond operator Type inference is a feature of Java that was introduced in Java 7. Now, Java compiler can infer type of a data automatically. For example, if we create an ArrayList then we use the code like: [crayon-61703567d4c6b886179280/] You can see that Java 7 […]

Leave a Reply

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

Subscribe to our newletter

Get quality tutorials to your inbox. Subscribe now.