Class ZipFile.Builder
- java.lang.Object
-
- org.apache.commons.io.build.AbstractSupplier<T,B>
-
- org.apache.commons.io.build.AbstractOriginSupplier<T,B>
-
- org.apache.commons.io.build.AbstractStreamBuilder<ZipFile,ZipFile.Builder>
-
- org.apache.commons.compress.archivers.zip.ZipFile.Builder
-
- All Implemented Interfaces:
IOSupplier<ZipFile>
- Enclosing class:
- ZipFile
public static class ZipFile.Builder extends AbstractStreamBuilder<ZipFile,ZipFile.Builder>
Builds newZipFile
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 totrue
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 totrue
. This includes the content of the Unicode extra field, so settingignoreLocalFileHeader
totrue
meansuseUnicodeExtraFields
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()
Gets a result.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
getCharset, setBufferSize, setBufferSize, setBufferSizeChecker, setBufferSizeMax, setCharset, setCharset, setOpenOptions
-
Methods inherited from class org.apache.commons.io.build.AbstractOriginSupplier
setByteArray, setCharSequence, setFile, setFile, setInputStream, setOutputStream, setPath, setPath, setReader, setURI, setWriter
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.commons.io.function.IOSupplier
asSupplier
-
-
-
-
Method Detail
-
get
public ZipFile get() throws java.io.IOException
Description copied from interface:IOSupplier
Gets a result.- Returns:
- a result
- Throws:
java.io.IOException
- if an I/O error occurs.
-
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.
-
-