在Java中,若某开发者按如下方式操作管道流:首先通过`PipedInputStream pis = new PipedInputStream();`和`PipedOutputStream pos = new PipedOutputStream();`创建对象,随后调用`pis.connect(pos);`和`pos.connect(pis);`两次连接方法。关于此操作的描述,正确的是?
答案解析
核心考点:管道流的连接机制及异常边界条件。
解题思路:管道流的connect方法本质是建立单向连接,若双方均已关联,再次调用会触发异常。
选项分析:
- A错误:connect是运行时方法,不会导致编译错误。
- B正确:首次连接后双方已关联,再次调用会因重复绑定抛出IOException。
- C错误:管道流本质是单向通道,无法通过多次调用实现双向传输。
- D错误:connect方法会修改对象内部状态,重复调用必然触发异常。
易错点:误以为管道流支持双向通信,或混淆编译错误与运行时异常的区别。
正确答案:B