2012-09-04 43 views
1

我們使用ZipOutputStream(在32位jdk上)從多個文件創建單個Zip文件。大型Zip文件在32位JDK上損壞

如果我們使用5個pdf文件(每個pdf爲1 GB)創建Zip文件比創建損壞的Zip文件。如果我使用(4個pdf文件 - 每個pdf爲1 GB)創建Zip文件,則會創建正確的Zip文件。

32位JDK上的Zip文件大小是否有限制?

+0

您將不得不使用Java 7(請參閱我的答案) – Resh32

回答

2

原始ZIP格式有4GB的限制(文件的未壓縮大小,文件的壓縮大小和歸檔的總大小)。

更多信息:http://en.wikipedia.org/wiki/ZIP_(file_format

原來的ZIP格式對各種事物的4吉布限制(文件的未壓縮的大小,文件和檔案的總規模壓縮後的大小),以及限制65535條目在一個zip檔案。在規範的版本4.5中(與任何特定工具的v4.5不同),PKWARE引入了「ZIP64」格式的擴展來解決這些限制,將限制增加到16個EiB(264字節)。 Windows XP中的文件資源管理器不支持ZIP64,但Windows Vista中的資源管理器不支持。同樣,一些庫,如DotNetZip和Perl中的IO :: Compress :: Zip,支持ZIP64。 Java內置的java.util.zip支持Java 7以上版本的ZIP64。[29]