0

我的数据量很大,需要上传到github。所以我决定使用拆分的 zip 文件并让程序合并它们然后解压缩它们。

private static void mergeSplitFiles(String path) {
        System.out.println("Merging data from: " + path);

        try {
            ZipFile zip = new ZipFile(path + "/train.zip");
            zip.mergeSplitFiles(new File(ORIGINAL_DATA + ".zip"));
        } catch (ZipException e) {
            e.printStackTrace();
        }
    }

合并看起来很棒,但后来我尝试像这样解压缩:

private static void uncompressData(String path) {
        System.out.println("Uncompressing data from: " + path);
        new File(path).mkdir();

        try {
            ZipFile zip = new ZipFile(path + ".zip");
            zip.extractAll(path);

        } catch (ZipException e) {
            e.printStackTrace();
        }
    }

此代码适用于手动压缩的数据,但在合并数据时失败。

试图手动解压缩合并的文件,它崩溃了,给我一个错误。我在 Maven 中使用最新版本:

        <dependency>
            <groupId>net.lingala.zip4j</groupId>
            <artifactId>zip4j</artifactId>
            <version>2.6.1</version>
        </dependency>

我得到的错误是:

net.lingala.zip4j.exception.ZipException: Could not read corresponding local file header for file header: 2964082/61083998.txt

什么都找不到

4

1 回答 1

0

显然,当使用库制作拆分文件时它起作用了。使用 7zip 或 WinRar 制作的文件不起作用。不得不修改程序以从原始日志中制作拆分的 zip,而原始日志无法上传到 Github,因此必须考虑到这一点。

Havent 找到了手动(或其他库)生成的拆分 zips 文件的解决方案

于 2020-07-08T07:23:32.317 回答