1

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. これを回避する方法を知っている人はいますか?

4

0 に答える 0