【发布时间】:2015-07-23 16:16:03
【问题描述】:
我想从活动 tcp 连接的 InputStream 中异步读取所有字节。输入缓冲区中可能没有任何内容,在这种情况下,我想要一个空字节数组 [] 而不是读取/超时。
我试过这个:
byte[] bytes = IOUtils.toByteArray(tcpInputStream);
但如果 InputStream 中没有任何内容,则读取会挂起,直到 tcp 超时,然后抛出异常。
【问题讨论】:
-
IOUtils 不在标准库中……那么它是什么?它提供异步版本吗?
-
如果您只想读取立即可用的数据,这就是
available()调用的用途。虽然它很少有用...... -
@dsh:我认为它是 apache commons-io。我对此没有答案,但是,我发现了两个可能对您有所帮助的 stackoverflow 问题:stackoverflow.com/questions/19833068/… 和 stackoverflow.com/questions/5049319/…
标签: java tcp inputstream