Android解压缩功能不起作用

时间:2014-06-23 07:24:40

标签: java android xml zip unzip

以下解压缩功能不适用于所有zip文件。

我的zip文件格式如下 -

  1. Zip文件包含一个xml文件和一个文件夹(name-“images”)。
  2. xml文件的名称与zip文件名相同。
  3. 文件夹(“图像”)可能包含也可能不包含任何文件。
  4. 我在将xml文件放入zip文件之前验证了它。

    对于某些zip文件,它会在此行引发异常 -

    FileOutputStream fout = new ileOutputStream(path.substring(0,path.length()-4)+"/"+filename);
    

    功能是:

    public boolean unZip(String path)
    {       
        InputStream is;
        ZipInputStream zis;
        try 
        {
            String filename;
            is = new FileInputStream(path);
            zis = new ZipInputStream(new BufferedInputStream(is));   
            ZipEntry ze;
            byte[] buffer = new byte[1024];
            int count;
    
            while ((ze = zis.getNextEntry()) != null) 
            {
                filename = ze.getName();
                if (ze.isDirectory()) {
                    File fmd = new File(path.substring(0,path.length()-4)+"/"+filename);
                    fmd.mkdirs();
                    continue;
                }
    
                FileOutputStream fout = new FileOutputStream(path.substring(0,path.length()-4)+"/"+filename);
    
                while ((count = zis.read(buffer)) != -1) 
                {
                    fout.write(buffer, 0, count);             
                }
    
                fout.close();               
                zis.closeEntry();
            }
    
            zis.close();
        } 
        catch(IOException e)
        {
            e.printStackTrace();
            return false;
        }
    
        return true;
    }
    

    Exception at Logcat view

1 个答案:

答案 0 :(得分:1)

此方法正常。在Linux平台上创建zip时这是一个权限问题。但是当我更改文件权限时,函数开始正常工作。