โ— Shell
clean mode source โ†—

Reading files

Code Comparison

StringBuilder sb = new StringBuilder();
try (BufferedReader br =
    new BufferedReader(
        new FileReader("data.txt"))) {
    String line;
    while ((line = br.readLine()) != null)
        sb.append(line).append("\n");
}
String content = sb.toString();
String content =
    Files.readString(Path.of("data.txt"));

Why the modern way wins

๐Ÿ“

One line

Replace 8 lines of BufferedReader boilerplate.

๐Ÿงน

Auto cleanup

File handle is closed automatically.

๐ŸŒ

UTF-8 default

Correct encoding by default โ€” no charset confusion.

Old Approach

BufferedReader

Modern Approach

Files.readString()

JDK Support

Reading files

Available

Widely available since JDK 11 (Sept 2018)

How it works

Files.readString() reads a file's entire content into a String. It handles encoding (UTF-8 by default) and resource cleanup. For large files, use Files.lines() for lazy streaming.

Related Documentation

Proof