假设用RandomAccessFile以rw模式打开一个空文件,首先写入一个int类型数值(占4字节),接着读取一个double类型数值(占8字节)。此时文件指针的位置是:

答案解析

核心考点:文件指针的移动规律及读写操作的联动影响 解题思路分析: 1. int类型占4字节,写入操作后指针移动到4的位置 2. 读取操作从当前指针位置开始,但此时文件为空,读取double(需要8字节)会超出文件末尾 3. 虽然指针会尝试移动8字节(4+8=12),但实际文件长度只有4字节,此时会触发EOFException(属于IOException的子类) 选项分析: - A. 4:错误。仅考虑写入后的指针位置,忽略了读取操作对指针的影响 - B. 8:错误。错误地将写入和读取操作的字节数相加(4+8=12),但计算逻辑错误 - C. 12:典型陷阱。虽然指针计算正确,但未考虑文件实际长度不足导致的异常 - D. 正确。读取超出文件范围时触发异常 易错点提醒: - 文件指针的物理移动与实际可用数据范围的差异 - IOException的触发条件判断
正确答案:D
随机推荐
开始刷题