BufferedReader and BufferedWriter in Java


The BufferedReader and BufferedWriter classes in Java are used for efficient reading and writing of text files. This tutorial provides a step-by-step guide with examples.

Step 1: Writing to a File using BufferedWriter

The BufferedWriter class writes text to a file efficiently by buffering the output. Below is an example:

    import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class BufferedWriterExample {
        public static void main(String[] args) {
            try {
                BufferedWriter writer = new BufferedWriter(new FileWriter("bufferedOutput.txt"));
                writer.write("This is the first line of text.\n");
                writer.write("BufferedWriter makes writing efficient!\n");
                writer.close();
                System.out.println("File written successfully using BufferedWriter.");
            } catch (IOException e) {
                System.out.println("An error occurred: " + e.getMessage());
            }
        }
    }
        

Step 2: Reading from a File using BufferedReader

The BufferedReader class reads text from a file efficiently by buffering the input. Below is an example:

    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    
    public class BufferedReaderExample {
        public static void main(String[] args) {
            try {
                BufferedReader reader = new BufferedReader(new FileReader("bufferedOutput.txt"));
                String line;
                while ((line = reader.readLine()) != null) {
                    System.out.println(line);
                }
                reader.close();
            } catch (IOException e) {
                System.out.println("An error occurred: " + e.getMessage());
            }
        }
    }
        

Step 3: Combining BufferedReader and BufferedWriter

Here is an example where text is read from one file using BufferedReader and written to another file using BufferedWriter:

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class BufferedReaderWriterExample {
        public static void main(String[] args) {
            try {
                BufferedReader reader = new BufferedReader(new FileReader("inputFile.txt"));
                BufferedWriter writer = new BufferedWriter(new FileWriter("outputFile.txt"));
                String line;
                while ((line = reader.readLine()) != null) {
                    writer.write(line);
                    writer.newLine();
                }
                reader.close();
                writer.close();
                System.out.println("File copied successfully using BufferedReader and BufferedWriter.");
            } catch (IOException e) {
                System.out.println("An error occurred: " + e.getMessage());
            }
        }
    }
        

Summary

In this tutorial, you learned:

  • How to write to a file using BufferedWriter
  • How to read from a file using BufferedReader
  • How to combine BufferedReader and BufferedWriter for file manipulation

The BufferedReader and BufferedWriter classes improve efficiency by reducing the number of I/O operations.





Advertisement