次のエラーが表示されます。
03-17 02:10:13.272: W/System.err(26433): java.io.EOFException
03-17 02:10:13.282: W/System.err(26433): at libcore.io.Streams.readFully(Streams.java:83)
03-17 02:10:13.282: W/System.err(26433): at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:231)
外部ストレージへの書き込み権限が設定されているバックグラウンド スレッドでダウンロードを実行します。私のコードは次のとおりです。
ZipInputStream zis = null;
try
{
zis = new ZipInputStream(archive);
ZipEntry zeCurrent;
while ((zeCurrent = zis.getNextEntry()) != null)
{
[...]
}
}
この eof はループに入る前に呼び出されるため、ループは 0 回呼び出されます。そこで何が起こっているのですか?
私はjson通信にrestletを使用しています。私のダウンロードコード:
ClientResource cres = new ClientResource(myURL);
cres.setRequestEntityBuffering(true);
Representation response = request.post(new JacksonRepresentation<MyRequest>(MediaType.APPLICATION_JSON, request));
unzip(response.getStream(), downloadPath);
したがって、MyRequest は json を表す my Object であり、downloadPath が存在します。