private void readResponseHeaders(HttpURLConnection conn) { info.disposition = conn.getHeaderField("Content-Disposition"); info.location = conn.getHeaderField("Content-Location"); info.mimeType = DLUtil.normalizeMimeType(conn.getContentType()); final String transferEncoding = conn.getHeaderField("Transfer-Encoding"); if (TextUtils.isEmpty(transferEncoding)) { try { info.totalBytes = Integer.parseInt(conn.getHeaderField("Content-Length")); LogUtils.e("安装包的大小:" + info.totalBytes); } catch (NumberFormatException e) { info.totalBytes = -1; } } else { info.totalBytes = -1; } if (info.totalBytes == -1 && (TextUtils.isEmpty(transferEncoding) || !transferEncoding.equalsIgnoreCase("chunked"))) throw new RuntimeException("Can not obtain size of download file."); if (TextUtils.isEmpty(info.fileName)) info.fileName = DLUtil.obtainFileName(info.realUrl, info.disposition, info.location); }