14_java.io(入出力パッケージ)試験範囲

対象:3級では概念レベルの理解で十分 / 「java.io というパッケージがある」「何のためのものか」を覚えます


■ 1. パッケージとは

Javaの標準クラスライブラリは パッケージ という単位でまとめられています。例えるなら「クラスをジャンルごとにフォルダ分けしたもの」です。

パッケージ名主な内容主なクラス
java.lang言語の基本機能(import 不要で使える)String, Math, Integer, System
java.io入出力(Input/Output)File, BufferedReader, PrintWriter, PrintStream
java.utilユーティリティ(コレクションなど)ArrayList, HashMap, Scanner
3級の試験範囲では java.langjava.io が明記されています。
java.lang のクラス(String・Math など)はすでに学習済み。この単元では java.io の役割と代表的なクラス名を把握します。

■ 2. java.io の役割

ioInput/Output(入出力) の略です。プログラムと外部(ファイル・キーボード・画面など)の間でデータをやり取りするためのクラスが集められています。

用途代表的なクラス使い方の例
ファイルを表すFileファイル名・サイズ・存在チェック
ファイルからテキストを読むFileReader, BufferedReader1行ずつ読み込み
ファイルにテキストを書くFileWriter, PrintWriter1行ずつ書き出し
標準出力(画面表示)PrintStreamSystem.out がこの型
標準入力(キーボード)InputStreamSystem.in がこの型
3級ではこれらのクラスのコードを書く問題は出ません。
java.io パッケージは入出力を扱う」「File・BufferedReader などのクラスがある」を覚えておけば十分。

■ 3. System.out も実は java.io のクラス

これまで何度も使ってきた System.out.println(...)。実はこの System.outjava.io.PrintStream 型のインスタンスです。

// System クラスは java.lang.System
// その out フィールドが java.io.PrintStream 型

System.out.println("Hello");
// = (java.io.PrintStream) System.out . println("Hello")
普段意識せずに使っている System.out.println() も、実は java.io の機能を借りています。「java.io はファイルの話だけ」ではなく「画面出力も含む入出力全般」を扱うパッケージだと覚えておきましょう。

■ 4. import の書き方

java.lang のクラスは特別扱いで import 不要ですが、java.io のクラスを使うには import 文 が必要です。

// ① 特定のクラスだけ import
import java.io.File;
import java.io.BufferedReader;

// ② パッケージ内すべてを一括 import(* は全クラスの意味)
import java.io.*;

public class Sample {
    public static void main(String[] args) {
        File f = new File("data.txt");
        System.out.println(f.exists());
    }
}
パッケージimport 必要?
java.lang(String, Math, Integer など)不要(自動でimport される)
java.io(File, BufferedReader など)必要
java.util(ArrayList, Scanner など)必要

■ 5. (参考)ファイル読み込みの簡単な例

以下のコードは 3級の試験範囲外です。「こんな感じで使う」というイメージだけ持っておきましょう。実際に書けるようになる必要はありません。
import java.io.*;

public class FileRead {
    public static void main(String[] args) throws IOException {
        // ファイルを1行ずつ読む
        BufferedReader reader = new BufferedReader(new FileReader("data.txt"));
        String line;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
        reader.close();
    }
}
throws IOException とは?

ファイル操作は「ファイルがない」「読み込みに失敗した」などの例外(エラー)が発生する可能性があります。Java では「この例外が出るかも」を throws で宣言する必要があります。

これは「例外処理」というテーマで、2級以降の範囲です。3級では知らなくて大丈夫。


試験との対応

よく問われること正しい答え
java.io の役割入出力(Input/Output)
java.io の代表的なクラスFile, BufferedReader, PrintStream など
java.lang と java.io の違いjava.lang は import 不要、java.io は import 必要
System.out の型java.io.PrintStream

3級ではコードを書く問題は出題されません。パッケージの存在と役割を理解できれば十分です。


■ 理解度チェック問題

問題14-1

java.io パッケージの主な役割として正しいものはどれか。

解説を表示 正解:イ
io は Input/Output の略。ファイル読み書き、標準入出力(キーボード入力・画面表示)など、プログラムと外部の間のデータのやり取りを担当する。ネットワークは java.net、数学計算は java.lang.Math

問題14-2

Javaのプログラムで java.io パッケージのクラス(例:File)を使うために必要なものはどれか。

解説を表示 正解:ウ
java.lang 以外のパッケージのクラスを使うには、ソースの冒頭(package 行の次あたり)に import 文 が必要。* でパッケージ内全クラスを一括 import できる。extends はクラス継承用キーワードで、パッケージの import には使えない。

問題14-3

これまで何度も使ってきた System.out は、実はどのクラスのインスタンスか。

解説を表示 正解:エ
System.outjava.lang.System クラスのフィールド(メソッドではない)で、その型は java.io.PrintStream。つまり System.out.println("...") は「java.io.PrintStream のインスタンスに対して println メソッドを呼んでいる」ということ。普段使っている println も実は java.io の機能。

問題14-4

次のうち java.io パッケージに含まれるクラスはどれか。

解説を表示 正解:イ
File はファイルを表す java.io のクラス。MathStringInteger はいずれも java.langjava.io の他の代表クラスとして BufferedReader, PrintWriter, PrintStream, FileReader などがある。

問題14-5

サーティファイ Java 3級の試験範囲「クラスライブラリ」に明記されているパッケージは java.lang と何か。

解説を表示 正解:ア
公式試験範囲には「クラスライブラリ:java.lang(Stringクラス、StringBufferクラス、Mathクラス、Integerクラス等)、java.io」と明記されている。GUI関連やネットワーク関連は3級の範囲外。

■ まとめ

ポイント内容
パッケージクラスをジャンルごとに分けたもの
java.lang言語の基本機能。import 不要。String/Math/Integer など
java.io入出力(Input/Output)。import 必要。File/BufferedReader など
System.out実は java.io.PrintStream 型のインスタンス
3級での扱いクラス名と役割を覚える程度。コードを書く問題は出ない