Java
Beginner
1 min read
Writing Files and Path Operations
Example
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.*;
import java.util.List;
public class WritingFilesDemo {
public static void main(String[] args) throws IOException {
Path dir = Path.of("output");
Path file = dir.resolve("report.txt");
// Create directory tree
Files.createDirectories(dir);
// --- Files.writeString (simple) ---
Files.writeString(file, "=== Report ===\n", StandardCharsets.UTF_8);
// --- Append with StandardOpenOption.APPEND ---
Files.writeString(file, "Item 1: done\n",
StandardCharsets.UTF_8, StandardOpenOption.APPEND);
// --- Files.write with list of lines ---
List<String> lines = List.of("Item 2: done", "Item 3: pending", "");
Files.write(file, lines, StandardCharsets.UTF_8, StandardOpenOption.APPEND);
// --- BufferedWriter for large output ---
Path bigFile = dir.resolve("big.txt");
try (BufferedWriter writer =
Files.newBufferedWriter(bigFile, StandardCharsets.UTF_8)) {
for (int i = 1; i <= 5; i++) {
writer.write("Record " + i + ": value=" + (i * 10));
writer.newLine();
}
} // flush + close happens here
// Read back to verify
System.out.println("report.txt:");
Files.readAllLines(file).forEach(l -> System.out.println(" " + l));
// --- Path operations ---
System.out.println("\nbig.txt size: " + Files.size(bigFile) + " bytes");
System.out.println("Exists: " + Files.exists(file));
// Cleanup
Files.delete(bigFile);
Files.delete(file);
Files.delete(dir);
}
}