File Read & Write
In Java, file reading and writing can be done efficiently using buffered streams, readers, and writers. Here's a short explanation with examples: 1. Buffered File Reading (Using BufferedReader) Buffers data for efficient reading (instead of byte-by-byte). import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class ReadFile { public static void main(String[] args) { try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) { String line; while ((line = reader.readLine()) != null) { // Reads line-by-line System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } } } 2. Buffered File Writing (Using BufferedWriter) Buffers data for efficient writing. import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class WriteFile { public static void main(String[] args) { try (BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"))) { writer.write("Hello, Java!"); writer.newLine(); // Adds a newline } catch (IOException e) { e.printStackTrace(); } } } 3. Key Classes Class Purpose FileReader / FileWriter Reads/Writes characters (text files). BufferedReader / BufferedWriter Wraps readers/writers for buffered I/O. FileInputStream / FileOutputStream Reads/Writes bytes (binary files). Scanner Alternative for reading text (e.g., new Scanner(new File("file.txt"))). 4. Try-with-Resources Automatically closes files (no need for finally blocks). Used in the examples above (try (BufferedReader ...)). When to Use? Use BufferedReader/BufferedWriter for text files. Use FileInputStream/FileOutputStream for binary files (images, etc.). Use Scanner for parsing structured text. Let me know if you'd like a deeper explanation!

In Java, file reading and writing can be done efficiently using buffered streams, readers, and writers. Here's a short explanation with examples:
1. Buffered File Reading (Using BufferedReader
)
Buffers data for efficient reading (instead of byte-by-byte).
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
String line;
while ((line = reader.readLine()) != null) { // Reads line-by-line
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. Buffered File Writing (Using BufferedWriter
)
Buffers data for efficient writing.
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class WriteFile {
public static void main(String[] args) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"))) {
writer.write("Hello, Java!");
writer.newLine(); // Adds a newline
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. Key Classes
Class | Purpose |
---|---|
FileReader / FileWriter
|
Reads/Writes characters (text files). |
BufferedReader / BufferedWriter
|
Wraps readers/writers for buffered I/O. |
FileInputStream / FileOutputStream
|
Reads/Writes bytes (binary files). |
Scanner |
Alternative for reading text (e.g., new Scanner(new File("file.txt")) ). |
4. Try-with-Resources
- Automatically closes files (no need for
finally
blocks). - Used in the examples above (
try (BufferedReader ...)
).
When to Use?
- Use
BufferedReader
/BufferedWriter
for text files. - Use
FileInputStream
/FileOutputStream
for binary files (images, etc.). - Use
Scanner
for parsing structured text.
Let me know if you'd like a deeper explanation!