Class ZipFile.Builder

  • All Implemented Interfaces:
    org.apache.commons.io.function.IOSupplier<ZipFile>
    Enclosing class:
    ZipFile

    public static class ZipFile.Builder
    extends org.apache.commons.io.build.AbstractStreamBuilder<ZipFile,​ZipFile.Builder>
    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 Summary

      Constructors 
      Constructor Description
      Builder()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      ZipFile get()  
      ZipFile.Builder setIgnoreLocalFileHeader​(boolean ignoreLocalFileHeader)
      Sets whether to ignore information stored inside the local file header.
      ZipFile.Builder setMaxNumberOfDisks​(long maxNumberOfDisks)
      Sets max number of multi archive disks, default is 1 (no multi archive).
      ZipFile.Builder setSeekableByteChannel​(java.nio.channels.SeekableByteChannel seekableByteChannel)
      The actual channel, overrides any other input aspects like a File, Path, and so on.
      ZipFile.Builder setUseUnicodeExtraFields​(boolean useUnicodeExtraFields)
      Sets whether to use InfoZIP Unicode Extra Fields (if present) to set the file names.
      • Methods inherited from class org.apache.commons.io.build.AbstractStreamBuilder

        getBufferSize, getBufferSizeDefault, getCharSequence, getCharset, getCharsetDefault, getFile, getInputStream, getOpenOptions, getOutputStream, getPath, getRandomAccessFile, getReader, getWriter, setBufferSize, setBufferSize, setBufferSizeChecker, setBufferSizeDefault, setBufferSizeMax, setCharset, setCharset, setCharsetDefault, setOpenOptions
      • Methods inherited from class org.apache.commons.io.build.AbstractOriginSupplier

        checkOrigin, getOrigin, hasOrigin, newByteArrayOrigin, newCharSequenceOrigin, newFileOrigin, newFileOrigin, newInputStreamOrigin, newOutputStreamOrigin, newPathOrigin, newPathOrigin, newRandomAccessFileOrigin, newRandomAccessFileOrigin, newReaderOrigin, newURIOrigin, newWriterOrigin, setByteArray, setCharSequence, setFile, setFile, setInputStream, setOrigin, setOutputStream, setPath, setPath, setRandomAccessFile, setRandomAccessFile, setReader, setURI, setWriter
      • Methods inherited from class org.apache.commons.io.build.AbstractSupplier

        asThis
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.apache.commons.io.function.IOSupplier

        asSupplier, getUnchecked
    • Constructor Detail

    • Method Detail

      • get

        public ZipFile get()
                    throws java.io.IOException
        Throws:
        java.io.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

        public ZipFile.Builder setSeekableByteChannel​(java.nio.channels.SeekableByteChannel seekableByteChannel)
        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.