【Java】ファイルを読み込む方法

Javaを使ってファイルを読み込む方法にはいくつかの選択肢があります。この記事では、最も一般的で実用的な3つの方法を紹介します。それぞれの方法には利点と用途がありますので、目的に応じて適切な方法を選びましょう。

BufferedReaderを使用する方法

BufferedReaderは、テキストファイルを効率的に読み込むためのクラスです。行単位で読み込む場合に適しています。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFileWithBufferedReader {
    public static void main(String[] args) {
        String fileName = "example.txt";

        try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上記のコードは、BufferedReaderを使用してテキストファイルを行単位で読み込み、各行をコンソールに出力します。try-with-resources構文を使用することで、ファイルを自動的に閉じることができます。

Filesクラスを使用する方法

Filesクラスは、Java 7で導入されたjava.nio.fileパッケージの一部で、ファイル操作を簡単に行うためのメソッドを提供します。

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

public class ReadFileWithFiles {
    public static void main(String[] args) {
        String fileName = "example.txt";

        try {
            List<String> lines = Files.readAllLines(Paths.get(fileName));
            for (String line : lines) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Files.readAllLinesメソッドを使うと、ファイルの全ての行を一度にリストとして読み込むことができます。この方法は、ファイルが小さい場合や全ての行を一度に処理したい場合に便利です。

Scannerを使用する方法

Scannerクラスは、テキストの解析やファイルの読み込みを簡単に行うためのクラスです。特に行単位での読み込みに適しています。

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ReadFileWithScanner {
    public static void main(String[] args) {
        String fileName = "example.txt";

        try (Scanner scanner = new Scanner(new File(fileName))) {
            while (scanner.hasNextLine()) {
                String line = scanner.nextLine();
                System.out.println(line);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

Scannerクラスを使用すると、テキストファイルを簡単に読み込むことができます。この方法は、ファイルの内容を行単位で処理する場合に非常に便利です。

まとめ

Javaでファイルを読み込む方法として、BufferedReader、Filesクラス、そしてScannerクラスの3つのアプローチを紹介しました。各方法にはそれぞれの強みがあり、ファイルのサイズや用途に応じて使い分けることが重要です。この記事が、あなたのJavaプログラミングにおけるファイル操作の理解を深める一助となれば幸いです。