给定两个文本文件 file1.txt 和 file2.txt,若使用 `SequenceInputStream` 将其内容顺序合并读取,并使用 `BufferedReader` 按行读取,当 file1.txt 为空而 file2.txt 包含多行文本时,以下关于程序执行的描述正确的是:

答案解析

A 选项错误,`SequenceInputStream` 可以处理空的输入流,它会将其视为一个没有数据的输入源,不会抛出 `IOException`。 B 选项正确,当 `file1.txt` 为空时,`SequenceInputStream` 会将其视为空数据流,然后正常读取 `file2.txt` 的内容,不会引发任何异常。C 选项错误,`SequenceInputStream` 不会为 `file1.txt` 打印空行,只是跳过它直接读取 `file2.txt` 的内容。D 选项错误,`BufferedReader` 的 `readLine()` 方法在读取到流的末尾时会返回 null,而 while 循环判断条件是 `(s=br.readLine()) != null`,当返回 null 时循环结束,不会抛出 `NullPointerException`。
正确答案:B
随机推荐
开始刷题