我的数据量很大,需要上传到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
什么都找不到