我正在尝试从 URL 中检索 gzip 后的 XML 文件。我的问题是,GZipInputStream
在生产中使用解压缩时,我得到的内容似乎被截断了。我最多只能读取 xml 的一小部分。
URL feedURL = new URL(url);
HttpURLConnection connection = (HttpURLConnection) feedURL.openConnection();
GZIPInputStream input = new GZIPInputStream(connection.getInputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(input));
StringBuffer sb = new StringBuffer();
String line = "";
while((line = br.readLine()) != null) {
sb.append(line);
}
log.info(sb.toString());
此代码始终只读取 xml 的一小部分。多次运行它会显示完全相同的结果。我已经尝试过先下载二进制内容,使用 aByteArrayOutputStream.
数组的大小与我下载的文件完全相同。但是,当我使用GZipInputStream
解压缩字节数组时,我仍然得到相同的截断字符串。
顺便说一句,在本地一切正常,所以我被引导相信在GZipInputStream
某种程度上受限于GAE
. 有谁知道我怎么能解决这个问题?