我想解压缩一个分成几部分的文件(file.part1、file.part2、file.part3 ...)。我将所有零件放在同一个文件夹中。在互联网上,我只找到了如何解压缩单个文件的示例。
有人知道是否有 API 可以做到这一点吗?
压缩 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 问题,可以在此处找到。