
de.schlichtherle.util.zip.package.html Maven / Gradle / Ivy
A drop-in replacement for the classes in the package {@link java.util.zip} which read and write ZIP files.
The classes in this package read and write ZIP files according to a subset of PKWARE's ZIP File Format Specification , Version 6.3.2 from September 28, 2007. The subset has been selected in order to achieve the following objectives:
- Full interoperability with ZIP files read or written by the package {@link java.util.zip} of Sun's Java SE 6 implementation.
- Support for arbitrary character sets, in particular IBM Code Page 437 (alias IBM PC) for PKZIP compatibility and UTF-8 for Java Archive (JAR) compatibility. Note that using any other character set except CP437 or UTF-8 is strongly discouraged because it will result in interoperability issues with third party tools, especially when interchanging archive files between different locales!
-
Support for reading and writing ZIP64 extensions with the
following restrictions:
- The maximum file size is {@link java.lang.Long#MAX_VALUE}.
- The maximum number of entries in the Central Directory is {@link java.lang.Integer#MAX_VALUE}.
- The offsets in ZIP64 files must respect a preamble if present, i.e. they must by exact. This is in contrast to ZIP32 files where the offsets do not need to respect a preamble if present. Preambles are primarily used to contain self extracting (SFX) executable code.
- {@link de.schlichtherle.util.zip.ZipFile} supports reading archive data from the random access read only interface {@link de.schlichtherle.io.rof.ReadOnlyFile}, which allows to read archive data from complex data sources such as RAES encrypted ZIP files directly without the need to decrypt these to a temporary file first (see package {@link de.schlichtherle.crypto.io.raes}).
© 2015 - 2025 Weber Informatics LLC | Privacy Policy