App Engine:URL使用Java获取和解压缩大型Gzip XML文件

时间:2013-05-24 11:52:22

标签: java google-app-engine gzip gzipinputstream

我正在尝试从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解压缩字节数组时,我仍然得到相同的截断字符串。

顺便说一句,一切都在本地工作正常,所以我被引导相信GZipInputStreamGAE中有所限制。有谁知道我怎么能绕过这个?

0 个答案:

没有答案