I/O 初級

ファイル全体を1行でStringに読み込む。

✕ Java 8
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();
✓ Java 11+
String content =
    Files.readString(Path.of("data.txt"));
このコードに問題がありますか? お知らせください。
📏

1行で完結

BufferedReaderの8行のボイラープレートを置き換えます。

🧹

自動クリーンアップ

ファイルハンドルは自動的にクローズされます。

🌐

UTF-8がデフォルト

デフォルトで正しいエンコーディング — 文字セットの混乱なし。

旧来のアプローチ
BufferedReader
モダンなアプローチ
Files.readString()
JDKバージョン
11
難易度
初級
ファイルの読み込み
利用可能

JDK 11(2018年9月)以降、広く利用可能

Files.readString()はファイルの全内容をStringに読み込みます。エンコーディング(デフォルトはUTF-8)とリソースのクリーンアップを自動で処理します。大きなファイルには遅延ストリーミングのためにFiles.lines()を使用します。

共有 𝕏 🦋 in