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.