#12 Javaで学ぶファイル読み書きの基本

Javaのファイル操作は、比較的新しいバージョンで整備されたFilesというクラスを使うと、簡潔に書けます。この記事では、Javaにおけるファイル操作の基本と、1行ずつの処理方法を解説します。

ファイルを読み込む

import java.nio.file.Files;
import java.nio.file.Path;

String content = Files.readString(Path.of("data.txt"));
System.out.println(content);

ファイルに書き込む

Files.writeString(Path.of("data.txt"), "こんにちは");

1行ずつ読み込む

大きなファイルを扱う場合は、全体を一度にメモリへ読み込むreadStringより、1行ずつ処理する方法が適しています。

import java.util.List;

List lines = Files.readAllLines(Path.of("data.txt"));
for (String line : lines) {
    System.out.println(line);
}

例外の扱いに注意

ファイル操作は、以前の記事で触れた「チェック例外」に関わる典型的な処理です。IOExceptionという例外が発生する可能性があるため、try・catchで対処するか、メソッドの宣言にthrowsを書く必要があります。

try {
    String content = Files.readString(Path.of("data.txt"));
} catch (IOException e) {
    System.out.println("読み込みに失敗しました");
}

ファイルが存在するか確認する

import java.nio.file.Files;
import java.nio.file.Path;

if (Files.exists(Path.of("data.txt"))) {
    String content = Files.readString(Path.of("data.txt"));
}

Javaならではの注意点

Javaには、今回紹介したFilesクラスのほかに、歴史的な経緯からFileReaderやBufferedReaderなど、古くからある書き方も数多く存在します。学習中の教材がどの世代の書き方を紹介しているか意識しておくと、混乱を避けられます。新しく書くコードでは、基本的にFilesクラスを使うのがシンプルでおすすめです。

まとめ

Javaのファイル操作はFilesクラスを使うと簡潔に書けます。大きなファイルにはreadAllLinesを使い、IOExceptionへの対処を忘れずに行いましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

Javaをもっと学びたい方には「スッキリわかるJava入門 第4版」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本