private static void fileChunking() throws IOException {
InputStream is = null;
OutputStream os = null;
byte[] buffer;
int maxBufferSize = 102400;
int bytesRead, bytesAvailable, bufferSize;
int responsecode = 0;
String responsemessage = null;
bufferSize = Math.min(content.length, maxBufferSize);
buffer = new byte[bufferSize];
bytesRead = is.read(buffer, 0, bufferSize);
while (bytesRead > 0) {
os.write(buffer, 0, bufferSize);
bytesAvailable = is.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
bytesRead = is.read(buffer, 0, bufferSize);
}
is.close();
os.flush();
responsecode = con.getResponseCode();
responsemessage = con.getResponseMessage();
System.out.print(responsemessage);
}
代码在读取时抛出异常'Stream already open' bytesRead = is.read(buffer,0,bufferSize);
答案 0 :(得分:1)
您可能已在其他位置调用过getReader()
,与getInputStream()
互斥。很难说这段代码,而且答案有点不太可能。
更有可能从servlet字段或某个公共变量中获取InputStream,并且有两个请求会读取。