我有非常類似下面的鏈接問題:的BufferedInputStream到ByteArrayOutputStream很慢
PDF to byte array and vice versa
主要區別在於我試圖解釋通過一個ServerSocket包含二進制套接字連接,而不是文件。 這按預期工作。
然而,我有問題是,該過程正在相當長的時間來讀入內存,約1分鐘30秒500個字節(儘管每個流的大小將大量變化)
這裏的我的代碼:
BufferedInputStream input = new BufferedInputStream(theSocket.getInputStream());
byte[] buffer = new byte[8192];
int bytesRead;
ByteArrayOutputStream output = new ByteArrayOutputStream();
while ((bytesRead = input.read(buffer)) != -1)
{
output.write(buffer, 0, bytesRead);
}
byte[] outputBytes = output.toByteArray();
//Continue ... and eventually close inputstream
如果我登錄這是它似乎相當迅速記錄所有字節的終端內的while循環內的過程中(即到達流的末尾),但隨後似乎暫停了時間在擺脫while循環並繼續之前。
希望是有道理的。
服務器是否關閉連接?您所描述的內容看起來像是流阻塞,等待更多字節到達。 –