本文介绍了解压压缩文件给" java.util.zip.ZipException:无法读取版本"或QUOT; java.util.ZipException无法读取本地头版本45 QUOT;的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想只是提取正常的zip文件,但它一直失败。这是我用我现在的code:

I would like just to extract a normal zip file, but it keeps failing.This is my code I'm using now:

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:无法读取版本有任何想法吗? THX!

It fails on the 'zin.getNextEntry()' part.Error: java.util.zip.ZipException: Cannot read versionAny ideas? Thx!

推荐答案

看起来你的zip文件是不是你的解压库更新。

Looks like your zip file is newer than your 'unzipping library'.

如果你读源:

<一个href="https://javapi.svn.$c$cplex.com/svn/trunk/JavApi_old/java.util.zip.ZipInputStream.cs">ZipInputStream (搜索新抛出:Zip​​Exception(不能读版本)的)

这表明你在检查zip文件的版本。然后看着维基百科的就说明这是需要解压zip的最低版本。

It shows you it checks the zip files version. Then looking at Wikipedia it shows this is the minimum version needed to extract the zip.

检查您的zip文件并重新保存您的压缩软件的低版本/再压缩它没有COM pression测试

或者更新您的邮编库(如您使用内部的android压缩库,你不能这样做)。

Alternately update your Zip library (which you can't do as your using the internal android zip library).

这篇关于解压压缩文件给&QUOT; java.util.zip.ZipException:无法读取版本&QUOT;或QUOT; java.util.ZipException无法读取本地头版本45 QUOT;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-01 22:47