org.apache.tools.zip
Class ZipFile
java.lang.Object
org.apache.tools.zip.ZipFile
public class ZipFile
extends java.lang.Object
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.ZipEntry
instances.
- close is allowed to throw IOException.
Version:
ZipFile(File f) - Opens the given file for reading, assuming the platform's
native encoding for file names.
|
ZipFile(File f, String encoding) - Opens the given file for reading, assuming the specified
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.
|
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.
|
ZipFile
public ZipFile(File f)
throws IOException
Opens the given file for reading, assuming the platform's
native encoding for file names.
f
- the archive.
ZipFile
public ZipFile(File f,
String encoding)
throws IOException
Opens the given file for reading, assuming the specified
encoding for file names.
f
- the archive.encoding
- the encoding to use for file names
ZipFile
public ZipFile(String name)
throws IOException
Opens the given file for reading, assuming the platform's
native encoding for file names.
name
- name of the archive.
ZipFile
public ZipFile(String name,
String encoding)
throws IOException
Opens the given file for reading, assuming the specified
encoding for file names.
name
- name of the archive.encoding
- the encoding to use for file names
close
public void close()
throws IOException
Closes the archive.
fromDosTime
protected static Date fromDosTime(ZipLong l)
Convert a DOS date/time field to a Date object.
l
- contains the stored DOS time.
- a Date instance corresponding to the given time.
getEncoding
public String getEncoding()
The encoding to use for filenames and the file comment.
- null if using the platform's default character encoding.
getEntries
public Enumeration getEntries()
Returns all entries.
- all entries as
ZipEntry
instances
getEntry
public ZipEntry getEntry(String name)
Returns a named entry - or null
if no entry by
that name exists.
name
- name of the entry.
- the ZipEntry corresponding to the given name - or
null
if not present.
getInputStream
public InputStream getInputStream(ZipEntry ze)
throws IOException,
ZipException
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.
getString
protected String getString(byte[] bytes)
throws ZipException
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
Copyright B) 2000-2005 Apache Software Foundation. All Rights Reserved.