Whether Zip64 extensions will be used.
When setting the mode to
Zip64Mode#Never,
#putNextEntry,
#closeEntry,
#finish or
#close may throw a
Zip64RequiredException if the entry's size or the total size
of the archive exceeds 4GB or there are more than 65536 entries
inside the archive. Any archive created in this mode will be
readable by implementations that don't support Zip64.
When setting the mode to
Zip64Mode#Always,
Zip64 extensions will be used for all entries. Any archive
created in this mode may be unreadable by implementations that
don't support Zip64 even if all its contents would be.
When setting the mode to
Zip64Mode#AsNeeded, Zip64 extensions will transparently be used for
those entries that require them. This mode can only be used if
the uncompressed size of the
ZipEntry is known
when calling
#putNextEntry or the archive is written
to a seekable output (i.e. you have used the
#ZipOutputStream(java.io.File)) -
this mode is not valid when the output stream is not seekable
and the uncompressed size is unknown when
#putNextEntry is called.
If no entry inside the resulting archive requires Zip64
extensions then
Zip64Mode#Never will create the
smallest archive.
Zip64Mode#AsNeeded will
create a slightly bigger archive if the uncompressed size of
any entry has initially been unknown and create an archive
identical to
Zip64Mode#Never otherwise.
Zip64Mode#Always will create an archive that is at
least 24 bytes per entry bigger than the one
Zip64Mode#Never would create.
Defaults to
Zip64Mode#AsNeeded unless
#putNextEntry is called with an entry of unknown
size and data is written to a non-seekable stream - in this
case the default is
Zip64Mode#Never.