读取ZIP文件无效的CEN头例外?

时间:2016-06-14 07:22:12

标签: java python zip epub

我正在生成大小超过2 GB的ePub。

我首先创建zip文件,然后重命名为.epub

我正在使用zip64

zp = zipfile.ZipFile(zipFileName, "w", zipfile.ZIP_DEFLATED, allowZip64=True)

更多详情:http://stackoverflow.com/questions/37783643/allowzip64-true-will-work-for-small-size-files

然后我将ePub传递给ePub Checker,这会产生以下异常。

FATAL(PKG-008): ./NOID.epub/NOID.epub(-1,-1): Unable to read file 'invalid CEN header (bad signature)'.

这意味着epub无法通过ePub Checker读取,因此不会从ePub中发出任何错误。

Java版本:

$ java -version
java version "1.7.0_101"
OpenJDK Runtime Environment (rhel-2.6.6.4.el6_8-x86_64 u101-b00)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)

ePubcheck版本:

$ /opt/apache-tomcat-8.0.0/webapps/epubcheck4.0.1/epubcheck.jar 

如果Zip即ePub文件大小小于2 GB,则此错误不会出现,但Zip即ePub文件大小超过2 GB,则此错误即将发生。

我哪里错了?

0 个答案:

没有答案