5 · Intermediate · lesson 31 of 41
File I/O (NIO.2)
Modern paths, files and streams.
Java
import java.nio.file.*;
import java.nio.charset.StandardCharsets;
Path p = Path.of("notes.txt");
Files.writeString(p, "hello", StandardCharsets.UTF_8);
String text = Files.readString(p);
List<String> lines = Files.readAllLines(p);
try (var stream = Files.lines(p)) {
stream.filter(l -> !l.isBlank()).forEach(System.out::println);
}Key takeaways
- ✓Prefer java.nio.file over the old java.io.File API.
- ✓Files.lines() returns a lazy stream — close it.