Java 解压缩包含大量小文件的文件

Java 解压缩包含大量小文件的文件,java,android,zip,extract,Java,Android,Zip,Extract,我有很多拉链和大量的文件,我必须解压缩到SD卡 目前,我正在为拉链中的每个文件使用util.zip包和Zipentry。这很好,但速度很慢 所以我想知道是否有一个lib可以比Java/Android的普通zip更快地处理这些文件 编辑:ZIP是档案,大约5到10MB大,包含大约50到100个jpg文件,每个文件都是图片的一部分。我需要提取所有拉链到一个特定的文件夹。 慢速意味着在IPhone上提取相同文件的时间很短 编辑2代码: ZipInputStream zin = new ZipInput

我有很多拉链和大量的文件,我必须解压缩到SD卡

目前,我正在为拉链中的每个文件使用
util.zip
包和
Zipentry
。这很好,但速度很慢

所以我想知道是否有一个lib可以比Java/Android的普通zip更快地处理这些文件

编辑:ZIP是档案,大约5到10MB大,包含大约50到100个jpg文件,每个文件都是图片的一部分。我需要提取所有拉链到一个特定的文件夹。 慢速意味着在IPhone上提取相同文件的时间很短

编辑2代码:

ZipInputStream zin = new ZipInputStream(fd);
    ZipEntry ze = null;
    while ((ze = zin.getNextEntry()) != null) {
    System.out.println("Unzipping " + ze.getName());

    if (ze.isDirectory()) {
        File f = new File(targetFilePath + ze.getName());

        if (!f.isDirectory()) {
        f.mkdirs();
        }
    } else {
        int size;
        byte[] buffer = new byte[2048];

        FileOutputStream outStream = new FileOutputStream(targetFilePath + ze.getName() + ".tile");
        BufferedOutputStream bufferOut = new BufferedOutputStream(outStream, buffer.length);

        while ((size = zin.read(buffer, 0, buffer.length)) != -1) {
        bufferOut.write(buffer, 0, size);
        }

        bufferOut.flush();
        bufferOut.close();
    }
    }
    zin.close();

你能做的最好的情况就是走自己的路。另外,谷歌甚至在zlib上的NDK中提供了受支持的头文件/API。

请举例说明“大量文件”和“非常慢”的含义。你好,卢卡斯,我编辑了我的问题,希望现在问题更清楚。