如何在不阻塞的情况下从Java中的BufferedReader读取?
我想向服务器发送命令,并确定是否得到响应。
现在,我正在使用BufferedReader
的readline()
函数,该函数会阻塞直到服务器发出响应,但我要做的就是首先确认服务器是否响应。
我尝试使用ready()
或reset()
避免此阻止,但这无济于事。
这导致我的程序陷入等待服务器响应的困境,这种情况永远不会发生。InputStreamReader
根据我对事物的理解,似乎做同样的事情。
我在此处找到的关于该主题的其他问题没有回答我的问题,所以请您回答我的问题会很好。
回答:
可能您所需要的只是InputStream
无需将其包装在BufferedReader
while (inputStream.available() > 0) { int i = inputStream.read(tmp, 0, 1024);
if (i < 0)
break;
strBuff.append(new String(tmp, 0, i));
}
我希望这有帮助。
以上是 如何在不阻塞的情况下从Java中的BufferedReader读取? 的全部内容, 来源链接: utcz.com/qa/418188.html