|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.tools.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:
org.apache.tools.zip.ZipEntry
instances.
Constructor Summary | |
ZipFile(java.io.File f)
Opens the given file for reading, assuming the platform's native encoding for file names. |
|
ZipFile(java.io.File f,
java.lang.String encoding)
Opens the given file for reading, assuming the specified encoding for file names. |
|
ZipFile(java.lang.String name)
Opens the given file for reading, assuming the platform's native encoding for file names. |
|
ZipFile(java.lang.String name,
java.lang.String encoding)
Opens the given file for reading, assuming the specified encoding for file names. |
Method Summary | |
void |
close()
Closes the archive. |
protected static java.util.Date |
fromDosTime(ZipLong l)
Convert a DOS date/time field to a Date object. |
java.lang.String |
getEncoding()
The encoding to use for filenames and the file comment. |
java.util.Enumeration |
getEntries()
Returns all entries as ZipEntry instances. |
ZipEntry |
getEntry(java.lang.String name)
Returns a named entry - or null if no entry by
that name exists. |
java.io.InputStream |
getInputStream(ZipEntry ze)
Returns an InputStream for reading the contents of the given entry. |
protected java.lang.String |
getString(byte[] bytes)
Retrieve a String from the given bytes using the encoding set for this ZipFile. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ZipFile(java.io.File f) throws java.io.IOException
f
- the archive.
java.io.IOException
- if an error occurs while reading the file.public ZipFile(java.lang.String name) throws java.io.IOException
name
- name of the archive.
java.io.IOException
- if an error occurs while reading the file.public ZipFile(java.lang.String name, java.lang.String encoding) throws java.io.IOException
name
- name of the archive.encoding
- the encoding to use for file names
java.io.IOException
- if an error occurs while reading the file.public ZipFile(java.io.File f, java.lang.String encoding) throws java.io.IOException
f
- the archive.encoding
- the encoding to use for file names
java.io.IOException
- if an error occurs while reading the file.Method Detail |
public java.lang.String getEncoding()
public void close() throws java.io.IOException
java.io.IOException
- if an error occurs closing the archive.public java.util.Enumeration getEntries()
ZipEntry
instances.
public ZipEntry getEntry(java.lang.String name)
null
if no entry by
that name exists.
name
- name of the entry.
null
if not present.public java.io.InputStream getInputStream(ZipEntry ze) throws java.io.IOException, java.util.zip.ZipException
ze
- the entry to get the stream for.
java.io.IOException
java.util.zip.ZipException
protected static java.util.Date fromDosTime(ZipLong l)
l
- contains the stored DOS time.
protected java.lang.String getString(byte[] bytes) throws java.util.zip.ZipException
bytes
- the byte array to transform
java.util.zip.ZipException
- if the encoding cannot be recognized.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |