Class ZipFile.Builder

All Implemented Interfaces:
IOSupplier<ZipFile>
Enclosing class:
ZipFile

Builds new ZipFile instances.

The channel will be opened for reading, assuming the specified encoding for file names.

See SeekableInMemoryByteChannel to read from an in-memory archive.

By default the central directory record and all local file headers of the archive will be read immediately which may take a considerable amount of time when the archive is big. The ignoreLocalFileHeader parameter can be set to true which restricts parsing to the central directory. Unfortunately the local file header may contain information not present inside of the central directory which will not be available when the argument is set to true. This includes the content of the Unicode extra field, so setting ignoreLocalFileHeader to true means useUnicodeExtraFields will be ignored effectively.

Since:
1.26.0
  • Constructor Details

  • Method Details

    • get

      public ZipFile get() throws IOException
      Throws:
      IOException
    • setIgnoreLocalFileHeader

      public ZipFile.Builder setIgnoreLocalFileHeader(boolean ignoreLocalFileHeader)
      Sets whether to ignore information stored inside the local file header.
      Parameters:
      ignoreLocalFileHeader - whether to ignore information stored inside.
      Returns:
      this.
    • setMaxNumberOfDisks

      public ZipFile.Builder setMaxNumberOfDisks(long maxNumberOfDisks)
      Sets max number of multi archive disks, default is 1 (no multi archive).
      Parameters:
      maxNumberOfDisks - max number of multi archive disks.
      Returns:
      this.
    • setSeekableByteChannel

      The actual channel, overrides any other input aspects like a File, Path, and so on.
      Parameters:
      seekableByteChannel - The actual channel.
      Returns:
      this.
    • setUseUnicodeExtraFields

      public ZipFile.Builder setUseUnicodeExtraFields(boolean useUnicodeExtraFields)
      Sets whether to use InfoZIP Unicode Extra Fields (if present) to set the file names.
      Parameters:
      useUnicodeExtraFields - whether to use InfoZIP Unicode Extra Fields (if present) to set the file names.
      Returns:
      this.