Skip to main content
Published on

FileReader Class in Java

Share:

Introduction

The FileReader class in Java is a powerful tool that enables reading characters from files. With an intuitive interface and a focus on efficiency, it is a key piece for manipulating stored data.

Characteristics of the FileReader Class

  • Simplicity: Makes reading files easy with just a few lines of code.
  • Encoding: Reads characters based on the system's default encoding or an encoding specified by the user.
  • Flexibility: Can be combined with other classes, such as BufferedReader, for more efficient reads with additional functionality.

Important Methods

In addition to the listed methods:

  • FileReader().ready(): Checks whether there are more characters to be read.
  • FileReader().skip(long n): Skips n characters in the file.

Practical Example

In the example presented, we use the FileReader class to read and display the content of a file:

package com.caffeinealgorithm.programaremjava;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class FileReaderClass {
  private File file = new File("File.txt");
  private char[] characters = new char[100];
  private FileReader readFile;

  public void Run() {
    if (file.exists()) {
      try {
        readFile = new FileReader(file);
        readFile.read(characters);

        for (char character : characters)
          System.out.print(character);

        readFile.close();
      }
      catch (IOException exception) {
        System.out.println(exception);
      }
    }
  }
}

/*
  Portugal
  Brazil
  Spain
  France
  Italy
  Australia
  India
*/

Usage Tips

  • BufferedReader: When dealing with large files, combine FileReader with a BufferedReader to increase reading speed.
  • Error Handling: Always use try-catch blocks when working with file reading to handle possible exceptions.

Conclusion

The FileReader class plays a crucial role in a Java developer's toolkit, making file reading a simple, fast, and efficient task. By understanding its functionalities, it is possible to optimise data manipulation and enrich the user experience.

Happy coding!