我正在读取从套接字的服务器端接收的输入流。我无法知道我的响应的大小是多少,我正在读入一个字节数组,这是代码
public static String readString(InputStream inputStream) throws IOException {
ByteArrayOutputStream into = new ByteArrayOutputStream();
byte[] buf = new byte[4096];
for (int n; 0 < (n = inputStream.read(buf));) {
System.out.println("Got to this point n is "+n);
into.write(buf, 0, n);
}
into.close();
System.out.println("passed this point");
return new String(into.toByteArray(), AddATudeMessage.CHARENC);
}
现在写数字 11 和 235 被打印到控制台,所以我假设服务器仍在将输出写入输入流。然而,它卡在 235 并且似乎没有发生任何事情。我尝试暂停主执行线程长达 20 秒,此时我从服务器收到 241 个字节,然后再次发生相同的无限循环,任何人都知道发生了什么