我已经得到了HttpURLConnection类的inputStream:如何获取InputStream的副本?
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000 /* milliseconds */);
conn.setConnectTimeout(15000 /* milliseconds */);
conn.setRequestMethod("GET");
conn.setDoInput(true);
// Starts the query
conn.connect();
InputStream stream = conn.getInputStream();
现在我想产生这样的inputStream两个副本,一个用于存储到文件,另一种是用于分析,但我存储之后, inputStream无效解析:
BufferedInputStream bis = new BufferedInputStream(inStream);
try {
byte[] buffer = new byte[1024];
if (inStream.markSupported()) {
inStream.mark(1);
}
int bytesRead = 0;
while ((bytesRead = bis.read(buffer)) != -1) {
Log.d(TAG, "buffer: "+new String(buffer));
outStream.write(buffer, 0, bytesRead);
}
outStream.flush();
inStream.reset();
outStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
现在如何完全得到这个inputStream呢?
再次做同样的事情 – vefthym 2014-11-05 11:48:27
没有帮助http://stackoverflow.com/questions/5923817/how-to-clone-an-inputstream? – 2014-11-05 11:49:29
@RC。看来Android不支持CloseShieldInputStream – 2014-11-05 11:55:45