ObjectInputStream.available()
正如它在's javadoc中所说:
返回可以在不阻塞的情况下读取的字节数。
我们应该能够像使用以下代码一样Scanner.hasNext()
if (inputStream.available() > 0) {
Object input = inputStream.readObject();
}
但是当我使用它时,即使流中有一些未读数据,这种情况也不会得到true
。
实际上我在客户端-服务器应用程序中以这种方式使用它,它卡在if
:
while (continueListening) {
Object responseObj;
try {
if (inputStream.available() == 0) { // this condition is always met
continue;
}
responseObj = inputStream.readObject();
.
.
.