try {
HttpGet httpGet = new HttpGet(uri.toString());
httpGet.addHeader("Accept-Encoding", "gzip");
HttpResponse response = mHttpClient.execute(httpGet);
HttpEntity entity = response.getEntity();
InputStream is = getUngzippedContent(entity);
mResourceCache.store(getKey(uri), is);
} catch (IOException e) {
//
}
public static void getUngzippedContent(HttpEntity entity, String outPath)
throws Exception {
// Log.e("outPath>>>> ", outPath);
InputStream responseStream = entity.getContent();
if (responseStream == null) {
return;
}
ZipInputStream inZip = new ZipInputStream(responseStream);
ZipEntry zipEntry;
String szName = "";
while ((zipEntry = inZip.getNextEntry()) != null) {
szName = zipEntry.getName();
if (zipEntry.isDirectory()) {
szName = szName.substring(0, szName.length() - 1);
File folder = new File(outPath + File.separator + szName);
folder.mkdirs();
} else {
File file = new File(outPath + File.separator + szName);
file.createNewFile();
FileOutputStream out = new FileOutputStream(file);
int len;
byte[] buffer = new byte[1024];
while ((len = inZip.read(buffer)) != -1) {
out.write(buffer, 0, len);
out.flush();
}
out.close();
}
}
inZip.close();
}