微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 解压缩zip文件给出“java.util.zip.ZipException:无法读取版本”或“java.util.ZipException无法读取本地标题版本45”

我想提取一个普通的zip文件,但它仍然失败.
这是我现在使用的代码

private File downloadpath = new File(Environment.getExternalStorageDirectory() + "/Test/file.zip");
private File unzipLoc = new File(Environment.getExternalStorageDirectory() + "/Test/");
        FileInputStream fin = new FileInputStream(downloadpath); 
        ZipInputStream zin = new ZipInputStream(fin);
        ZipEntry ze = null; 
        while ((ze = zin.getNextEntry()) != null) 
        { 
            FileOutputStream fout = new FileOutputStream(unzipLoc + ze.getName()); 
            for (int c = zin.read(); c != -1; c = zin.read()) 
            { 
                fout.write(c); 
            } 

            zin.closeEntry(); 
            fout.close(); 
        } 
        zin.close(); 

它在’zin.getNextEntry()’部分失败.
错误:java.util.zip.ZipException:无法读取版本
有任何想法吗?谢谢!

解决方法:

看起来你的zip文件比你的’解压缩库’更新.

如果您阅读来源:

ZipInputStream(搜索新的ZipException(“无法读取版本”))

显示它检查zip文件版本.然后查看Wikipedia显示这是提取zip所需的最低版本.

检查您的zip文件并使用较低版本的zip软件重新保存/再次压缩,无需压缩即可测试

或者更新你的Zip库(你不能使用内部的android zip库).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐