年底這是一個代碼片段,其中存在類似的情況:套接字的InputStream不返回-1在流
public static byte[] copyLargeExt(InputStream input) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024*8];
int n = 0;
while(-1 != (n = input.read(buffer))) {
baos.write(buffer, 0, n);
// i just append this pattern ({###END###}) to force the break
/*if(baos.toString(UTF8.name()).endsWith("{###END###}")) {
break;
}*/
}
return baos.toByteArray();
}
有人能幫助我嗎?
那麼,只是永遠循環?你的輸入流來自哪裏? –
它只是不會永久循環,但它不會返回任何內容。輸入流來自Google(Postman) –
當套接字關閉時,流的末端將到達。誰關閉了套接字? – NPE