org.apache.tools.zip
public class ZipFile extends Object
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:
org.apache.tools.zip.ZipEntry
instances.Constructor Summary | |
---|---|
ZipFile(File f)
Opens the given file for reading, assuming the platform's
native encoding for file names.
| |
ZipFile(String name)
Opens the given file for reading, assuming the platform's
native encoding for file names.
| |
ZipFile(String name, String encoding)
Opens the given file for reading, assuming the specified
encoding for file names.
| |
ZipFile(File f, String encoding)
Opens the given file for reading, assuming the specified
encoding for file names.
|
Method Summary | |
---|---|
void | close()
Closes the archive. |
protected static Date | fromDosTime(ZipLong l)
Convert a DOS date/time field to a Date object.
|
String | getEncoding()
The encoding to use for filenames and the file comment.
|
Enumeration | getEntries()
Returns all entries. |
ZipEntry | getEntry(String name)
Returns a named entry - or null if no entry by
that name exists. |
InputStream | getInputStream(ZipEntry ze)
Returns an InputStream for reading the contents of the given entry. |
protected String | getString(byte[] bytes)
Retrieve a String from the given bytes using the encoding set
for this ZipFile.
|
Parameters: f the archive.
Throws: IOException if an error occurs while reading the file.
Parameters: name name of the archive.
Throws: IOException if an error occurs while reading the file.
Parameters: name name of the archive. encoding the encoding to use for file names
Throws: IOException if an error occurs while reading the file.
Parameters: f the archive. encoding the encoding to use for file names
Throws: IOException if an error occurs while reading the file.
Throws: IOException if an error occurs closing the archive.
Parameters: l contains the stored DOS time.
Returns: a Date instance corresponding to the given time.
Returns: null if using the platform's default character encoding.
Returns: all entries as {@link ZipEntry} instances
null
if no entry by
that name exists.Parameters: name name of the entry.
Returns: the ZipEntry corresponding to the given name - or
null
if not present.
Parameters: ze the entry to get the stream for.
Returns: a stream to read the entry from.
Parameters: bytes the byte array to transform
Returns: String obtained by using the given encoding
Throws: ZipException if the encoding cannot be recognized.