019 例外と例外処理(例外クラス) 010 解答例

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;

public class FileReadingExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        try {
            // ユーザーにファイル名を入力してもらう
            System.out.print("ファイル名を入力してください: ");
            String fileName = scanner.nextLine();

            // ファイルからテキストデータを読み込んで表示
            readAndDisplayFileContents(fileName);

        } catch (FileNotFoundException e) {
            // ファイルが存在しない場合の例外処理
            System.out.println("エラー: ファイルが見つかりません。");

        } catch (IOException e) {
            // ファイルの読み込み中にエラーが発生した場合の例外処理
            System.out.println("エラー: ファイルの読み込み中にエラーが発生しました。");

        } finally {
            // Scannerのクローズ
            scanner.close();
        }
    }

    static void readAndDisplayFileContents(String fileName) throws IOException {
        FileReader fileReader = new FileReader(fileName);
        BufferedReader bufferedReader = new BufferedReader(fileReader);

        try {
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
            }

        } finally {
            // ファイルをクローズ
            bufferedReader.close();
        }
    }
}

このプログラムでは、ユーザーにファイル名を入力させ、そのファイルが存在しない場合は FileNotFoundException が発生し、「エラー: ファイルが見つかりません。」と表示されます。また、ファイルの読み込み中に IOException が発生した場合は、「エラー: ファイルの読み込み中にエラーが発生しました。」と表示されます。正常にファイルを読み込んだ場合は、その内容がコンソールに表示されます。

「019 例外と例外処理」問題集リスト