gpt4 book ai didi

java - 为什么 InputStreamReader read() 阻塞而不是返回 -1?

转载 作者:搜寻专家 更新时间:2023-11-01 02:52:19 25 4
gpt4 key购买 nike

我正在使用 java 的 InputStreamReader read() 函数。当我到达输入流的末尾时,我应该进入我的 int 变量 -1 的值,但它会阻塞。为什么我在输入流的末尾没有得到 -1? (我逐个字母地调试它,确保它实际上是输入的末尾并且连接套接字是 Activity 的)。

使用 ready() 函数是一个很好的解决方案吗:

if (isr.ready())
currCharVal = isr.read();

提前致谢,盖伊。

最佳答案

如果另一端没有关闭连接,就会发生这种情况。当套接字关闭时,read() 将返回 -1。

根据我的经验,使用 ready 和 available 是相当不可预测的。我会一直读取 (byte[]) 直到结束,并期望另一端在完成时关闭。

关于java - 为什么 InputStreamReader read() 阻塞而不是返回 -1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8954043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com