BufferedReader

BufferedReader is a wrapper class around another Reader class (like FileReader or InputStreamReader) that buffers input to provide efficient reading of characters, arrays, and lines. It improves performance by minimizing the number of I/O operations, especially useful for reading text files line by line.

Commonly Used Constructors and Methods

Simple Program: Read File Line-by-Line Using BufferedReader

Read and print all lines from a file notes.txt using BufferedReader.

import java.io.*;

public class BufferedReaderSimpleDemo {
    public static void main(String[] args) {
        try (BufferedReader br = new BufferedReader(new FileReader("notes.txt"))) {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Problem Statement:

LotusJavaPrince collects user feedback stored in a text file. Mahesh writes a program to read feedback line by line using BufferedReader, counts the number of feedback entries, and prints them.

import java.io.*;

public class FeedbackProcessor {
    public static void main(String[] args) {
        int feedbackCount = 0;

        try (BufferedReader br = new BufferedReader(new FileReader("userFeedback.txt"))) {
            String feedback;
            System.out.println("User Feedbacks:");
            System.out.println("----------------");

            while ((feedback = br.readLine()) != null) {
                System.out.println(feedback);
                feedbackCount++;
            }

            System.out.println("----------------");
            System.out.println("Total feedback entries: " + feedbackCount);
        } catch (IOException e) {
            System.out.println("Error reading feedback file.");
            e.printStackTrace();
        }
    }
}

Assuming the file userFeedback.txt contains:

Great application, very user-friendly.
Please add dark mode.
Encountered some bugs on login.
Excellent customer support.

Console Output:

User Feedbacks:
----------------
Great application, very user-friendly.
Please add dark mode.
Encountered some bugs on login.
Excellent customer support.
----------------
Total feedback entries: 4

The BufferedReader class is an essential tool for efficient reading of character streams in Java. By wrapping around other Reader classes, it buffers input and minimizes expensive I/O operations, making it ideal for reading text data line-by-line or in bulk.

Scroll to Top