我已經得到了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