1

zipファイルを解凍しようとしています。このファイルには他のいくつかのファイルが含まれています。私が使用している方法は次のとおりです。

private void unzipFile(String inputFileName,String outputDirName){
    int dataCount=0;
    byte[] dataArr=null;
    File inputZipFile=null,targetDir=null,unzipFile=null;
    ZipInputStream zipIPStream=null;
    ZipEntry zipEntry=null;
    BufferedOutputStream bfrOPStream=null;
    FileOutputStream unzipOPStream=null;
    try{
        inputZipFile=new File(inputFileName);
        targetDir=new File(outputDirName);
        zipIPStream=new ZipInputStream(new BufferedInputStream(new FileInputStream(inputZipFile)));
        while((zipEntry=zipIPStream.getNextEntry())!=null){
            dataArr=new byte[2048];
            // zipEntry=zipIPStream.getNextEntry();
            System.out.println("ZipEntry:"+zipEntry.getName());
            unzipFile=new File(targetDir.getAbsolutePath()+"/"+zipEntry.getName());
            System.out.println("Checking the path:"+unzipFile.getPath());
            if(!unzipFile.getParentFile().exists()){
                unzipFile.getParentFile().mkdirs();
            }
            unzipOPStream=new FileOutputStream(targetDir.getPath()+"/"+zipEntry.getName());
            bfrOPStream=new BufferedOutputStream(unzipOPStream,2048);
            while((dataCount=zipIPStream.read(dataArr,0,2048))!=-1){
             unzipOPStream.write(dataArr,0,dataCount);
            }
            unzipOPStream.flush();
            unzipOPStream.close();
        }
    }catch(IOException ioe){
        ioe.printStackTrace();
    }catch(Exception e){
        e.printStackTrace();
    }finally{
        if(zipIPStream!=null){
            try{
                zipIPStream.close();
            }catch(Exception e){

            }
        }
    }
}

メソッドは次のエラーをスローしています

10-22 13:33:09.896: W/System.err(446): java.io.FileNotFoundException: /mnt/sdcard/iR/testbook/Caterpillar-Insect-Animal-Macro-HD-600x375.jpg (Not a directory)
4

1 に答える 1

1

ダウンロードしてzipファイルを解凍するには、以下のリンクを参照してください。問題が解決します。

Zipファイルをダウンロードする場合:-

Zipファイルをダウンロード

抽出 Zip ファイルの場合:-

Zipファイルを解凍

この問題を解決するための詳細については、以下のリンクを参照してください。

Android で Zip ファイルをダウンロードして解凍する

また、zip ファイルは winrar ソフトウェアのみを使用して作成されます。そうしないと、上記のエラーが発生します。

于 2012-10-22T11:48:36.783 に答える