# How to read a file using BufferedReader in Java

By Atta Ur Rehman Shah (https://attacomsian.com/about). Published Dec 6, 2019. Topics: Java.
Canonical URL: https://attacomsian.com/blog/java-read-file-using-bufferedreader

> A short article to learn how to read a file using the BufferedReader class in Java.

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:

```plaintext
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](https://attacomsian.com/blog/how-to-read-a-file-line-by-line-in-java):

```java
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:

```bash
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:

```java
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:

* [Reading and Writing Files in Java](https://attacomsian.com/blog/java-read-write-files)
* [How to Read and Write Text Files in Java](https://attacomsian.com/blog/java-read-write-text-files)
* [How to Read and Write Binary Files in Java](https://attacomsian.com/blog/java-read-write-binary-files)
* [Reading and Writing Files using Java NIO API](https://attacomsian.com/blog/java-read-write-files-nio-api)
* [How to read a file line by line in Java](https://attacomsian.com/blog/how-to-read-a-file-line-by-line-in-java)
