java.util.zip

Class ZipEntry

Implemented Interfaces:
Cloneable, java.util.zip.ZipConstants
Known Direct Subclasses:
JarEntry

public class ZipEntry
extends Object
implements java.util.zip.ZipConstants, Cloneable

This class represents a member of a zip archive. ZipFile and ZipInputStream will give you instances of this class as information about the members in an archive. On the other hand ZipOutputStream needs an instance of this class to create a new member.

Field Summary

static int
DEFLATED
Compression method.
static int
STORED
Compression method.

Fields inherited from interface java.util.zip.ZipConstants

CENATT, CENATX, CENCOM, CENCRC, CENDSK, CENEXT, CENFLG, CENHDR, CENHOW, CENLEN, CENNAM, CENOFF, CENSIG, CENSIZ, CENTIM, CENVEM, CENVER, ENDCOM, ENDHDR, ENDOFF, ENDSIG, ENDSIZ, ENDSUB, ENDTOT, EXTCRC, EXTHDR, EXTLEN, EXTSIG, EXTSIZ, LOCCRC, LOCEXT, LOCFLG, LOCHDR, LOCHOW, LOCLEN, LOCNAM, LOCSIG, LOCSIZ, LOCTIM, LOCVER

Constructor Summary

ZipEntry(String name)
Creates a zip entry with the given name.
ZipEntry(ZipEntry e)
Creates a copy of the given zip entry.

Method Summary

Object
clone()
Creates a copy of this zip entry.
String
getComment()
Gets the comment.
long
getCompressedSize()
Gets the size of the compressed data.
long
getCrc()
Gets the crc of the uncompressed data.
byte[]
getExtra()
Gets the extra data.
int
getMethod()
Gets the compression method.
String
getName()
Returns the entry name.
long
getSize()
Gets the size of the uncompressed data.
long
getTime()
Gets the time of last modification of the entry.
int
hashCode()
Gets the hashCode of this ZipEntry.
boolean
isDirectory()
Gets true, if the entry is a directory.
void
setComment(String comment)
Sets the entry comment.
void
setCompressedSize(long csize)
Sets the size of the compressed data.
void
setCrc(long crc)
Sets the crc of the uncompressed data.
void
setExtra(byte[] extra)
Sets the extra data.
void
setMethod(int method)
Sets the compression method.
void
setSize(long size)
Sets the size of the uncompressed data.
void
setTime(long time)
Sets the time of last modification of the entry.
String
toString()
Gets the string representation of this ZipEntry.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

DEFLATED

public static final int DEFLATED
Compression method. This method uses the Deflater.
Field Value:
8

STORED

public static final int STORED
Compression method. This method doesn't compress at all.
Field Value:
0

Constructor Details

ZipEntry

public ZipEntry(String name)
Creates a zip entry with the given name.
Parameters:
name - the name. May include directory components separated by '/'.
Throws:
NullPointerException - when name is null.
IllegalArgumentException - when name is bigger then 65535 chars.

ZipEntry

public ZipEntry(ZipEntry e)
Creates a copy of the given zip entry.
Parameters:
e - the entry to copy.

Method Details

clone

public Object clone()
Creates a copy of this zip entry.
Overrides:
clone in interface Object

getComment

public String getComment()
Gets the comment.
Returns:
the comment or null if not set.

getCompressedSize

public long getCompressedSize()
Gets the size of the compressed data.
Returns:
the size or -1 if unknown.

getCrc

public long getCrc()
Gets the crc of the uncompressed data.
Returns:
the crc or -1 if unknown.

getExtra

public byte[] getExtra()
Gets the extra data.
Returns:
the extra data or null if not set.

getMethod

public int getMethod()
Gets the compression method.
Returns:
the compression method or -1 if unknown.

getName

public String getName()
Returns the entry name. The path components in the entry are always separated by slashes ('/').

getSize

public long getSize()
Gets the size of the uncompressed data.
Returns:
the size or -1 if unknown.

getTime

public long getTime()
Gets the time of last modification of the entry.
Returns:
the time of last modification of the entry, or -1 if unknown.

hashCode

public int hashCode()
Gets the hashCode of this ZipEntry. This is just the hashCode of the name. Note that the equals method isn't changed, though.
Overrides:
hashCode in interface Object

isDirectory

public boolean isDirectory()
Gets true, if the entry is a directory. This is solely determined by the name, a trailing slash '/' marks a directory.

setComment

public void setComment(String comment)
Sets the entry comment.
Throws:
IllegalArgumentException - if comment is longer than 0xffff.

setCompressedSize

public void setCompressedSize(long csize)
Sets the size of the compressed data.

setCrc

public void setCrc(long crc)
Sets the crc of the uncompressed data.
Throws:
IllegalArgumentException - if crc is not in 0..0xffffffffL

setExtra

public void setExtra(byte[] extra)
Sets the extra data.
Throws:
IllegalArgumentException - if extra is longer than 0xffff bytes.

setMethod

public void setMethod(int method)
Sets the compression method. Only DEFLATED and STORED are supported.
Throws:
IllegalArgumentException - if method is not supported.

setSize

public void setSize(long size)
Sets the size of the uncompressed data.
Throws:
IllegalArgumentException - if size is not in 0..0xffffffffL

setTime

public void setTime(long time)
Sets the time of last modification of the entry.

toString

public String toString()
Gets the string representation of this ZipEntry. This is just the name as returned by getName().
Overrides:
toString in interface Object

ZipEntry.java -- Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.