Lesson 21 of 25

File Handling

Reading Files

Java provides several ways to read files. The modern approach uses java.nio.file and try-with-resources.

Example
import java.nio.file.*;
import java.io.*;
import java.util.List;

// Read entire file as string (Java 11+)
String content = Files.readString(Path.of("data.txt"));

// Read all lines
List<String> lines = Files.readAllLines(Path.of("data.txt"));
for (String line : lines) {
    System.out.println(line);
}

// BufferedReader for large files
try (BufferedReader reader = Files.newBufferedReader(Path.of("large.txt"))) {
    String line;
    while ((line = reader.readLine()) != null) {
        System.out.println(line);
    }
}

Writing Files

Write text to files using Files utility or BufferedWriter.

Example
import java.nio.file.*;

// Write string to file
Files.writeString(Path.of("output.txt"), "Hello, File!");

// Write lines
List<String> lines = List.of("Line 1", "Line 2", "Line 3");
Files.write(Path.of("output.txt"), lines);

// Append to file
Files.writeString(
    Path.of("log.txt"),
    "New log entry\n",
    StandardOpenOption.APPEND,
    StandardOpenOption.CREATE
);

// Check if file exists
boolean exists = Files.exists(Path.of("data.txt"));

// Create directories
Files.createDirectories(Path.of("data/backups"));