例外・I/O・NIO.2・本番レベル・約10分
InputStream・OutputStreamの違いと使い分け
InputStream / OutputStream を比較する
InputStream・OutputStreamを『意味→仕組み→判断→試験』の順に理解するレッスン。
この教材の学習目標
- InputStream・OutputStreamの目的・役割を自分の言葉で説明できる
- 例外・I/O・NIO.2の中でInputStream・OutputStreamを正しく位置付けられる
- 条件が変わっても根拠を示して判断できる
教材本文
InputStream・OutputStreamは、Streamパイプラインで要素を変換・絞り込み・集約するAPIに関する論点。
この単元は「例外・I/O・NIO.2」の中の「InputStream・OutputStream」を扱う。用語名だけではなく、何を対象にし、どの条件で使い、結果として何が変わるかをつなげて理解する。
学習時は「宣言と型を確認 → コンパイル可否を判断 → 実行時の参照と評価を追う → 値・出力・例外を確定」の順で整理する。途中条件を飛ばすと、似た選択肢や形を変えた問題で迷いやすい。
試験対策では、型・スコープ・初期化・評価順・動的束縛を行単位で追う。 正解後も他の選択肢がどの場面なら正しいかを確認する。
最後に30〜60秒で説明し直し、定義・条件・結果のどれかが抜ける場合は確認問題へ進む前に読み直す。
図解・イメージ
重要ポイント
- InputStream・OutputStreamは、Streamパイプラインで要素を変換・絞り込み・集約するAPIに関する論点。
- 判断順序:宣言と型を確認 → コンパイル可否を判断 → 実行時の参照と評価を追う → 値・出力・例外を確定
- コンパイル時に決まることと実行時に決まることを混同しない。
- 正解だけでなく誤答候補が何を意味するかまで確認する。
- 資料を見ずに30〜60秒で説明できることを習得の目安にする。
間違えやすいポイント
- コンパイル時に決まることと実行時に決まることを混同しない。
- 名称だけ覚えて適用条件を確認しない。
- 二択で迷って正解した問題を理解済みにする。
用語説明
- InputStream・OutputStream
- InputStream・OutputStreamは、Streamパイプラインで要素を変換・絞り込み・集約するAPIに関する論点。
- 例外設計と再スロー
- 例外設計と再スローは、異常系を例外階層で表し、try/catch/finally、throw/throws等で伝播と処理を設計する。
- try-with-resourcesの詳細
- 「try-with-resourcesの詳細」はJavaの「例外・I/O・NIO.2」で扱うコード理解の論点。宣言された型・スコープ・初期化を確認し、コンパイル時判定と実行時評価を分けて「InputStream・OutputStream」の挙動を追う。
- InputStream
- コレクション等のデータに対し、map/filter/reduceなどの宣言的な処理パイプラインを構築するAPI。
- OutputStream
- コレクション等のデータに対し、map/filter/reduceなどの宣言的な処理パイプラインを構築するAPI。
- Reader
- 「Reader」はJavaの「例外・I/O・NIO.2」で扱うコード理解の論点。宣言された型・スコープ・初期化を確認し、コンパイル時判定と実行時評価を分けて「InputStream・OutputStream」の挙動を追う。