Java读取二进制文件考题疑问:给定选项是否存在错误?
解读这道Java二进制文件读取的选择题
嘿,我来帮你理清这个困惑的点~
首先咱们逐个拆解选项:
- a. FileReader:这是字符流实现,专门用于读取文本文件的字符数据,完全不适合处理二进制文件,直接排除。
- b. BufferedReader:它是
FileReader这类字符输入流的包装类,作用是提升字符读取的效率,本质还是字符流,和二进制数据无关,排除。 - c. DataOutputStream:光看名字里的
OutputStream就知道,这是输出流,用来向文件写入二进制数据的,和题目要求的“读取”方向完全相反,排除。 - d. ObjectInputStream:这确实是用于读取二进制数据的输入流,不过它是针对序列化对象的上层包装流——实际使用时,你需要先创建一个
FileInputStream(也就是你提到的这个基础二进制流)指向目标文件,再把它传入ObjectInputStream来读取序列化的对象二进制数据。
你提到的FileInputStream确实是最基础的二进制文件输入流,能直接读取字节级的二进制数据,但题目给出的选项里没有它。在给定的四个选项中,ObjectInputStream是唯一一个属于二进制输入流范畴的类,其他三个都完全不符合“读取二进制文件”的要求,所以这道题的正确选项应该是d。
内容的提问来源于stack exchange,提问作者Georgio3
相关产品推荐
相关产品推荐

