Kodrill

Java SE 17 Gold (1Z0-826-JPN) 試験 / ファイル I/O ・ 無料問題 5/5

ファイル I/O 問題5[I/O ストリームを使用したファイル・アクセス]

次のコードをコンパイルした結果として正しいものを選んでください。

Main.java
import java.io.*;​public class Main {    public static void main(String[] args) throws IOException {        try (OutputStream out = new FileOutputStream("data.bin")) {            out.write(new byte[] {65, 66, 67});        }        try (InputStream in = new FileInputStream("data.bin")) {            byte b = in.read();            System.out.println(b);        }    }}

選択肢

  • A.6行目でコンパイルエラーになる
  • B.9行目でコンパイルエラーになる正解
  • C.コンパイルに成功し、65 と出力される
  • D.コンパイルに成功し、A と出力される

解説実行して確認済み

InputStream の read() は、読み取った1バイトを 0〜255 の int で返し、終わりに達すると -1 を返します。戻り値が int なので、キャストせずに byte 型の変数に代入している9行目がコンパイルエラーです。終わりの -1 と、値 255 のバイトを区別するために int になっています。

この問題の答えは、試験の対象バージョンでコードを実際に実行して確かめています。確かめ方は運営者情報に書いています。

「ファイル I/O」の要点を解説記事で読む

「ファイル I/O」の無料問題

ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。