Android:如何解压缩分成几部分的文件

标签 android split unzip

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

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

最佳答案

据我所知,Android 上的压缩 API 与 Java 相比没有变化。在 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 问题,可以在 here 中找到。 .

关于Android:如何解压缩分成几部分的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11766902/

相关文章:

node.js - Node AWS S3 getObject 在文件流完成之前触发 httpDone

java - Android Java : Reading file from zip file into webview/string, 为什么ZipInputStream限制读取性能?

android - 使用 BroadcastReceiver 启动 AsyncTask

C# IEnumerable<string> 和 string[]

python - 如何在 Python 中隔离左侧 2 个分隔符和右侧 7 个分隔符之间的文本?

Java解压程序

android - 有没有办法在 Eclipse 的一个窗口中编辑多个本地化的 string.xml 文件?

java - 无法显示日历正确的日期

android - 错误:Failed to resolve: Android-Iconics:library-core:unspecified

javascript - 根据字符数动态拆分数组