我正在尝试从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的一小部分。多次运行会显示完全相同的结果。我已经尝试使用ByteArrayOutputStream.
首先下载二进制内容。数组的大小与我下载的文件完全相同。但是,当我使用GZipInputStream
解压缩字节数组时,我仍然得到相同的截断字符串。
顺便说一句,一切都在本地工作正常,所以我被引导相信GZipInputStream
在GAE
中有所限制。有谁知道我怎么能绕过这个?