In this quick article, you'll learn how to read a file using the BufferedReader class in Java.

Let us say we have the following input.txt file:

This
is
an
example
file.

Using Files.newBufferedReader() Method

In Java 8 or higher, you can use the new I/O API (NIO) Files.newBufferedReader() static method to create a new instance of BufferedReader. Here is an example that uses BufferedReader to read a file line by line:

try {
    // create a reader instance
    BufferedReader br = Files.newBufferedReader(Paths.get("input.txt"));

    // read until end of file
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }

    // close the reader
    br.close();

} catch (IOException ex) {
    ex.printStackTrace();
}

The above code will output the following:

This
is
an
example
file.

Using BufferedReader Class

For Java 7 or below, you can use the legacy File I/O API to read a text file line by line:

try {
    // create a reader instance
    BufferedReader br = new BufferedReader(new FileReader("input.txt"));

    // read until end of file
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }

    // close the reader
    br.close();
        
} catch (IOException ex) {
    ex.printStackTrace();
}

Further Reading

You may be interested in other Java I/O articles:

✌️ Like this article? Follow me on Twitter and LinkedIn. You can also subscribe to RSS Feed.