Class ZipArchiveReader.Builder

Enclosing class:
ZipArchiveReader

public static class ZipArchiveReader.Builder extends ArchiveReaderBuilder<ZipArchiveReader,ZipArchiveReader.Builder>
Builds new ZipArchiveReader 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
  • Field Details

    • useUnicodeExtraFields

      private boolean useUnicodeExtraFields
    • ignoreLocalFileHeader

      private boolean ignoreLocalFileHeader
    • maxNumberOfDisks

      private long maxNumberOfDisks
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • get

      public ZipArchiveReader get() throws IOException
      Description copied from class: ArchiveReaderBuilder
      Gets the archive reader.
      Specified by:
      get in class ArchiveReaderBuilder<ZipArchiveReader,ZipArchiveReader.Builder>
      Returns:
      a result.
      Throws:
      IOException - if an I/O error occurs.
    • setIgnoreLocalFileHeader

      public ZipArchiveReader.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 instance.
    • setMaxNumberOfDisks

      public ZipArchiveReader.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 instance.
    • setUseUnicodeExtraFields

      public ZipArchiveReader.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 instance.