我收到以下错误:
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)
{
[...]
}
}
循环被调用 0 次,因为在它进入循环之前调用了这个 eof。那里发生了什么事?
我使用restlet进行json通信。我的下载代码:
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 的我的对象,downloadPath 存在。