Junior
Which classes in Java allow speeding up read and write operations using buffers?
sobes.tech AI
Answer from AI
Classes BufferedInputStream, BufferedOutputStream, BufferedReader, and BufferedWriter.
BufferedInputStream and BufferedOutputStream work with byte streams.
BufferedReader and BufferedWriter work with character streams.
Using a buffer allows reading or writing data in large blocks at once, reducing the number of system calls and improving performance.
Example of using BufferedReader for faster file reading:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BufferedReadExample {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("myfile.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
// Processing each line
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Example of using BufferedWriter for faster file writing:
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("output.txt"))) {
writer.write("Line 1\n");
writer.write("Line 2\n");
writer.flush(); // Forcing the buffer to write data
} catch (IOException e) {
e.printStackTrace();
}
}
}