我在一段代码中经常遇到此异常,当我调用readFully时就会发生这种情况。我不知道如何发生,因为readFully应该阻塞直到len个字节可用。如果知道有很多字节可用,那么以后如何满足EOF?

我该如何解决这个问题? (我正在读取前3个字节以获取长度(TLV的TL部分),然后在读取V时偶尔遇到此问题)。

谢谢

最佳答案

The documentation说:


抛出:EOFException-如果此输入流在读取所有字节之前到达末尾。


因此,如果您发送的长度不正确(即大于实际长度),或者如果发送方在写完所有字节之前关闭了流,则这种行为是可以预期的。

关于java - readFully(byte [] b,int off,int len)和EOFException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15852056/

10-12 02:39