类 ZipFile
java.lang.Object
com.sh.common.zip.ZipFile
Replacement for
java.util.ZipFile.
This class adds support for file name encodings other than UTF-8
(which is required to work on ZIP files created by native zip tools
and is able to skip a preamble like the one found in self
extracting archives. Furthermore it returns instances of
org.apache.tools.zip.ZipEntry instead of
java.util.zip.ZipEntry.
It doesn't extend java.util.zip.ZipFile as it would
have to reimplement all methods anyway. Like
java.util.ZipFile, it uses RandomAccessFile under the
covers and supports compressed and uncompressed entries.
The method signatures mimic the ones of
java.util.zip.ZipFile, with a couple of exceptions:
- There is no getName method.
- entries has been renamed to getEntries.
- getEntries and getEntry return
org.apache.tools.zip.ZipEntryinstances. - close is allowed to throw IOException.
-
构造器概要
构造器构造器说明Opens the given file for reading, assuming the platform's native encoding for file names.Opens the given file for reading, assuming the specified encoding for file names and scanning for unicode extra fields.Opens the given file for reading, assuming the specified encoding for file names.Opens the given file for reading, assuming the platform's native encoding for file names.Opens the given file for reading, assuming the specified encoding for file names, scanning unicode extra fields. -
方法概要
修饰符和类型方法说明voidclose()Closes the archive.static voidcloseQuietly(ZipFile zipfile) close a zipfile quietly; throw no io fault, do nothing on a null parameterprotected static DatefromDosTime(ZipLong zipDosTime) Convert a DOS date/time field to a Date object.The encoding to use for filenames and the file comment.Returns all entries.Returns a named entry - ornullif no entry by that name exists.Returns an InputStream for reading the contents of the given entry.protected StringgetString(byte[] bytes) Retrieve a String from the given bytes using the encoding set for this ZipFile.
-
构造器详细资料
-
ZipFile
Opens the given file for reading, assuming the platform's native encoding for file names.- 参数:
f- the archive.- 抛出:
IOException- if an error occurs while reading the file.
-
ZipFile
Opens the given file for reading, assuming the platform's native encoding for file names.- 参数:
name- name of the archive.- 抛出:
IOException- if an error occurs while reading the file.
-
ZipFile
Opens the given file for reading, assuming the specified encoding for file names, scanning unicode extra fields.- 参数:
name- name of the archive.encoding- the encoding to use for file names- 抛出:
IOException- if an error occurs while reading the file.
-
ZipFile
Opens the given file for reading, assuming the specified encoding for file names and scanning for unicode extra fields.- 参数:
f- the archive.encoding- the encoding to use for file names, use null for the platform's default encoding- 抛出:
IOException- if an error occurs while reading the file.
-
ZipFile
Opens the given file for reading, assuming the specified encoding for file names.- 参数:
f- the archive.encoding- the encoding to use for file names, use null for the platform's default encodinguseUnicodeExtraFields- whether to use InfoZIP Unicode Extra Fields (if present) to set the file names.- 抛出:
IOException- if an error occurs while reading the file.
-
-
方法详细资料
-
getEncoding
The encoding to use for filenames and the file comment.- 返回:
- null if using the platform's default character encoding.
-
close
Closes the archive.- 抛出:
IOException- if an error occurs closing the archive.
-
closeQuietly
close a zipfile quietly; throw no io fault, do nothing on a null parameter- 参数:
zipfile- file to close, can be null
-
getEntries
Returns all entries.- 返回:
- all entries as
ZipEntryinstances
-
getEntry
Returns a named entry - ornullif no entry by that name exists.- 参数:
name- name of the entry.- 返回:
- the ZipEntry corresponding to the given name - or
nullif not present.
-
getInputStream
Returns an InputStream for reading the contents of the given entry.- 参数:
ze- the entry to get the stream for.- 返回:
- a stream to read the entry from.
- 抛出:
IOException- if unable to create an input stream from the zipentyZipException- if the zipentry has an unsupported compression method
-
fromDosTime
Convert a DOS date/time field to a Date object.- 参数:
zipDosTime- contains the stored DOS time.- 返回:
- a Date instance corresponding to the given time.
-
getString
Retrieve a String from the given bytes using the encoding set for this ZipFile.- 参数:
bytes- the byte array to transform- 返回:
- String obtained by using the given encoding
- 抛出:
ZipException- if the encoding cannot be recognized.
-