Java 8 zipfile>4 GB。ZipException:无效的CEN标头(签名错误)
我在大于4 GB的zipfile上使用java 1.8.060时出现此错误 我发现这应该可以通过zip64实现Java 8 zipfile>4 GB。ZipException:无效的CEN标头(签名错误),java,zip,Java,Zip,我在大于4 GB的zipfile上使用java 1.8.060时出现此错误 我发现这应该可以通过zip64实现 ZipFile zipFile = new ZipFile(zippedFile); 错误: java.util.zip.ZipException: invalid CEN header (bad signature) at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<i
ZipFile zipFile = new ZipFile(zippedFile);
错误:
java.util.zip.ZipException: invalid CEN header (bad signature)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:219)
我是否应该以另一种方式获取条目以使用zip64?我会这样做:
FileInputStream fInput = new FileInputStream(zipFileName);
ZipInputStream zipInput = new ZipInputStream(fInput);
ZipEntry entry = zipInput.getNextEntry();
while(entry != null){
String entryName = entry.getName();
File file = new File(destinationFolder + File.separator + entryName);
// Do whatever you need with the file here
}
大型文件的跨主题:我想这样做:
FileInputStream fInput = new FileInputStream(zipFileName);
ZipInputStream zipInput = new ZipInputStream(fInput);
ZipEntry entry = zipInput.getNextEntry();
while(entry != null){
String entryName = entry.getName();
File file = new File(destinationFolder + File.separator + entryName);
// Do whatever you need with the file here
}
大型文件的跨主题:您可以尝试一个-可能会很有趣。如果生成的zip文件格式与您的一样不正确,则最有可能的原因是您没有关闭该文件。@OldCurmudgeon:zip文件不正确valid@JoopEggen:使用java zip文件系统时,zip>4 GB时出现相同错误。您可以尝试a-将很有趣。如果生成的zip文件的格式与您的一样不正确,最可能的原因是您没有关闭该文件。@OldCurmudgeon:zip文件不正确valid@JoopEggen:使用java zip文件系统时,zip>4 GB时出现相同的错误此操作没有错误。谢谢我投了赞成票,但我没有足够的声誉,显然还没有看到它。我进一步尝试了它,发现了一些性能问题。我只是有兴趣买拉链。有了新的ZipFilefile,我马上就能得到它们。流给我的印象是,它加载整个文件以获取条目。你知道如何继续吗?或者我应该打开一个新线程吗?所以你不想读取条目中的内容,而只是一个压缩文件列表?对,首先我必须知道条目的名称,然后再对其进行处理。之后,我用一些条目生成一个流,并将它们传递到数据库。这样做没有错误。谢谢我投了赞成票,但我没有足够的声誉,显然还没有看到它。我进一步尝试了它,发现了一些性能问题。我只是有兴趣买拉链。有了新的ZipFilefile,我马上就能得到它们。流给我的印象是,它加载整个文件以获取条目。你知道如何继续吗?或者我应该打开一个新线程吗?所以你不想读取条目中的内容,而只是一个压缩文件列表?对,首先我必须知道条目的名称,然后再对其进行处理。之后,我用一些条目生成一个流,并将它们传递到数据库。