我在一段代码中经常遇到这个异常,当我调用 readFully 时就会发生这种情况。我不明白它是如何发生的,因为 readFully 应该阻塞直到 len 个字节可用。如果它知道有那么多字节可用,那么它以后怎么会遇到 EOF?
我该如何解决这个问题?(我正在读取前 3 个字节以获取长度(TLV 的 TL 部分),然后在读取 V 时偶尔遇到问题)。
谢谢
文档说:
throws:EOFException - 如果此输入流在读取所有字节之前到达末尾。
因此,如果您发送的长度不正确(即大于实际长度),或者如果发送方在写入所有字节之前关闭流,则会出现这种行为。