Java - File I/O (NIO.2)

File I/O (NIO.2)

Basics

import java.nio.file.*;
Path p = Path.of("data.txt");
Files.writeString(p, "hello\n");
String s = Files.readString(p);

Buffered Streams

import java.io.*;
try (var in = new BufferedReader(new FileReader("input.txt"));
     var out = new BufferedWriter(new FileWriter("output.txt"))) {
  out.write(in.readLine());
}

Directories

Files.createDirectories(Path.of("logs/app"));
try (var stream = Files.list(Path.of("."))) {
  stream.forEach(System.out::println);
}
Always close resources or use try-with-resources. Prefer NIO.2 (java.nio.file) over legacy File API.

Try it

  1. Write text to a file with Files.writeString then read it back.
  2. List files in the current directory and filter by extension.