因为InputStream只能进行一遍完整的读过程,之后里面就没有数据了,当我们需要读不止一次时,需要先复制出来。
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int readLen;
try {
while ((readLen = clientSocket.getInputStream().read(buffer)) != -1) {
baos.write(buffer, 0 ,readLen);
} catch (IOException e) {}
InputStream ips1 = new ByteArrayInputStream(baos.toByteArray());
InputStream ips2 = new ByteByteArrayInputStream(baos.toByteArray());