2

我想解压缩一个分成几部分的文件(file.part1、file.part2、file.part3 ...)。我将所有零件放在同一个文件夹中。在互联网上,我只找到了如何解压缩单个文件的示例。

有人知道是否有 API 可以做到这一点吗?

4

1 回答 1

2

压缩 API 与 Android 上的 Java、AFAIK 相同。在 Java 中,您可以轻松地解压缩多卷文件。我正在发布一些 Java 代码,您应该能够在 Android 上运行一些小的(如果有的话)修改。

public class Main {

public static void main(String[] args) throws IOException {
    ZipInputStream is = new ZipInputStream(new SequenceInputStream(Collections.enumeration(
        Arrays.asList(new FileInputStream("test.zip.001"), new FileInputStream("test.zip.002"), new FileInputStream("test.zip.003")))));
    try {
        for(ZipEntry entry = null; (entry = is.getNextEntry()) != null; ) {
            OutputStream os = new BufferedOutputStream(new FileOutputStream(entry.getName()));
            try {
                final int bufferSize = 1024;
                byte[] buffer = new byte[bufferSize];
                for(int readBytes = -1; (readBytes = is.read(buffer, 0, bufferSize)) > -1; ) {
                    os.write(buffer, 0, readBytes);
                }
                os.flush();
            } finally {
                os.close();
            }
        }
    } finally {
        is.close();
    }
}

}

该代码来自一个较旧的 SO 问题,可以在此处找到。

于 2012-08-01T20:20:43.600 回答