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!

May 12, 2025 - 17:36
 0
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!