public class ZipArchiveEntry extends ZipEntryimplements ArchiveEntry
The extra data is expected to follow the recommendation of APPNOTE.TXT:
Any extra data that cannot be parsed by the rules above will be consumed as "unparseable" extra data and treated differently by the methods of this class. Versions prior to Apache Commons Compress 1.1 would have thrown an exception if any attempt was made to read or write extra data not conforming to the recommendation.
| Modifier and Type | Field and Description |
|---|---|
static int |
CENATT
|
static int |
CENATX
|
static int |
CENCOM
|
static int |
CENCRC
|
static int |
CENDSK
|
static int |
CENEXT
|
static int |
CENFLG
|
static int |
CENHDR
|
static int |
CENHOW
|
static int |
CENLEN
|
static int |
CENNAM
|
static int |
CENOFF
|
static long |
CENSIG
|
static int |
CENSIZ
|
static int |
CENTIM
|
static int |
CENVEM
|
static int |
CENVER
|
static int |
ENDCOM
|
static int |
ENDHDR
|
static int |
ENDOFF
|
static long |
ENDSIG
|
static int |
ENDSIZ
|
static int |
ENDSUB
|
static int |
ENDTOT
|
static int |
EXTCRC
|
static int |
EXTHDR
|
static int |
EXTLEN
|
static long |
EXTSIG
|
static int |
EXTSIZ
|
static int |
LOCCRC
|
static int |
LOCEXT
|
static int |
LOCFLG
|
static int |
LOCHDR
|
static int |
LOCHOW
|
static int |
LOCLEN
|
static int |
LOCNAM
|
static long |
LOCSIG
|
static int |
LOCSIZ
|
static int |
LOCTIM
|
static int |
LOCVER
|
static int |
PLATFORM_FAT
|
static int |
PLATFORM_UNIX
|
SIZE_UNKNOWN| Modifier | Constructor and Description |
|---|---|
protected |
ZipArchiveEntry()
|
|
ZipArchiveEntry(File
Creates a new zip entry taking some information from the given file and using the provided name.
|
|
ZipArchiveEntry(String
Creates a new zip entry with the specified name.
|
|
ZipArchiveEntry(ZipArchiveEntry
Creates a new zip entry with fields taken from the specified zip entry.
|
|
ZipArchiveEntry(ZipEntry
Creates a new zip entry with fields taken from the specified zip entry.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addAsFirstExtraField(ZipExtraField
Adds an extra field - replacing an already present extra field of the same type.
|
void |
addExtraField(ZipExtraField
Adds an extra field - replacing an already present extra field of the same type.
|
Object |
clone()
Overwrite clone.
|
boolean |
equals(Object
|
byte[] |
getCentralDirectoryExtra()
Retrieves the extra data for the central directory.
|
long |
getExternalAttributes()
Retrieves the external file attributes.
|
ZipExtraField |
getExtraField(ZipShort
Looks up an extra field by its header id.
|
ZipExtraField |
getExtraFields()
Retrieves all extra fields that have been parsed successfully.
|
ZipExtraField |
getExtraFields(boolean includeUnparseable)
Retrieves extra fields.
|
GeneralPurposeBit |
getGeneralPurposeBit()
The "general purpose bit" field.
|
int |
getInternalAttributes()
Retrieves the internal file attributes.
|
Date |
getLastModifiedDate()
Gets the last modified date of this entry.
|
byte[] |
getLocalFileDataExtra()
Retrieves the extra data for the local file data.
|
int |
getMethod()
Returns the compression method of this entry, or -1 if the compression method has not been specified.
|
String |
getName()
Get the name of the entry.
|
int |
getPlatform()
Platform specification to put into the "version made by" part of the central file header.
|
byte[] |
getRawName()
Returns the raw bytes that made up the name before it has been converted using the configured or guessed encoding.
|
long |
getSize()
Gets the uncompressed size of the entry data.
|
int |
getUnixMode()
Unix permission.
|
UnparseableExtraFieldData |
getUnparseableExtraFieldData()
Looks up extra field data that couldn't be parsed correctly.
|
int |
hashCode()
Get the hashCode of the entry.
|
boolean |
isDirectory()
Is this entry a directory?
|
boolean |
isUnixSymlink()
Returns true if this entry represents a unix symlink, in which case the entry's content contains the target path for the symlink.
|
void |
removeExtraField(ZipShort
Remove an extra field.
|
void |
removeUnparseableExtraFieldData()
Removes unparseable extra field data.
|
void |
setCentralDirectoryExtra(byte[] b)
Sets the central directory part of extra fields.
|
void |
setExternalAttributes(long value)
Sets the external file attributes.
|
protected void |
setExtra()
Unfortunately
java.util.zip.ZipOutputStream seems to access the extra data directly, so overriding getExtra doesn't help - we need to modify super's data directly.
|
void |
setExtra(byte[] extra)
Parses the given bytes as extra field data and consumes any unparseable data as an
UnparseableExtraFieldData instance.
|
void |
setExtraFields(ZipExtraField
Replaces all currently attached extra fields with the new array.
|
void |
setGeneralPurposeBit(GeneralPurposeBit
The "general purpose bit" field.
|
void |
setInternalAttributes(int value)
Sets the internal file attributes.
|
void |
setMethod(int method)
Sets the compression method of this entry.
|
protected void |
setName(String
Set the name of the entry.
|
protected void |
setName(String
Sets the name using the raw bytes and the string created from it by guessing or using the configured encoding.
|
protected void |
setPlatform(int platform)
Set the platform (UNIX or FAT).
|
void |
setSize(long size)
Sets the uncompressed size of the entry data.
|
void |
setUnixMode(int mode)
Sets Unix permissions in a way that is understood by Info-Zip's unzip command.
|
getComment, getCompressedSize, getCrc, getCreationTime, getExtra, getLastAccessTime, getLastModifiedTime, getTime, setComment, setCompressedSize, setCrc, setCreationTime, setLastAccessTime, setLastModifiedTime, setTime, toStringpublic static final int PLATFORM_UNIX
public static final int PLATFORM_FAT
public static final long LOCSIG
public static final long EXTSIG
public static final long CENSIG
public static final long ENDSIG
public static final int LOCHDR
public static final int EXTHDR
public static final int CENHDR
public static final int ENDHDR
public static final int LOCVER
public static final int LOCFLG
public static final int LOCHOW
public static final int LOCTIM
public static final int LOCCRC
public static final int LOCSIZ
public static final int LOCLEN
public static final int LOCNAM
public static final int LOCEXT
public static final int EXTCRC
public static final int EXTSIZ
public static final int EXTLEN
public static final int CENVEM
public static final int CENVER
public static final int CENFLG
public static final int CENHOW
public static final int CENTIM
public static final int CENCRC
public static final int CENSIZ
public static final int CENLEN
public static final int CENNAM
public static final int CENEXT
public static final int CENCOM
public static final int CENDSK
public static final int CENATT
public static final int CENATX
public static final int CENOFF
public static final int ENDSUB
public static final int ENDTOT
public static final int ENDSIZ
public static final int ENDOFF
public static final int ENDCOM
public ZipArchiveEntry(Stringname)
Assumes the entry represents a directory if and only if the name ends with a forward slash "/".
name - the name of the entry
public ZipArchiveEntry(ZipEntryentry) throws ZipException
Assumes the entry represents a directory if and only if the name ends with a forward slash "/".
entry - the entry to get fields from
ZipException - on error
public ZipArchiveEntry(ZipArchiveEntryentry) throws ZipException
Assumes the entry represents a directory if and only if the name ends with a forward slash "/".
entry - the entry to get fields from
ZipException - on error
protected ZipArchiveEntry()
public ZipArchiveEntry(FileinputFile, String entryName)
The name will be adjusted to end with a forward slash "/" if the file is a directory. If the file is not a directory a potential trailing forward slash will be stripped from the entry name.
public Objectclone()
public int getMethod()
public void setMethod(int method)
public int getInternalAttributes()
public void setInternalAttributes(int value)
value - an
int value
public long getExternalAttributes()
public void setExternalAttributes(long value)
value - an
long value
public void setUnixMode(int mode)
mode - an
int value
public int getUnixMode()
public boolean isUnixSymlink()
public int getPlatform()
setUnixMode has been called, in which case PLATFORM_UNIX will be returned.
protected void setPlatform(int platform)
platform - an
int value - 0 is FAT, 3 is UNIX
public void setExtraFields(ZipExtraField[] fields)
fields - an array of extra fields
public ZipExtraField[] getExtraFields()
public ZipExtraField[] getExtraFields(boolean includeUnparseable)
includeUnparseable - whether to also return unparseable extra fields as
UnparseableExtraFieldData if such data exists.
public void addExtraField(ZipExtraFieldze)
If no extra field of the same type exists, the field will be added as last field.
ze - an extra field
public void addAsFirstExtraField(ZipExtraFieldze)
The new extra field will be the first one.
ze - an extra field
public void removeExtraField(ZipShorttype)
type - the type of extra field to remove
public void removeUnparseableExtraFieldData()
public ZipExtraFieldgetExtraField(ZipShort type)
public UnparseableExtraFieldDatagetUnparseableExtraFieldData()
public void setExtra(byte[] extra)
throws RuntimeException
UnparseableExtraFieldData instance.
setExtra in class
ZipEntry
extra - an array of bytes to be parsed into extra fields
RuntimeException - if the bytes cannot be parsed
RuntimeException - on error
protected void setExtra()
java.util.zip.ZipOutputStream seems to access the extra data directly, so overriding getExtra doesn't help - we need to modify super's data directly.
public void setCentralDirectoryExtra(byte[] b)
public byte[] getLocalFileDataExtra()
public byte[] getCentralDirectoryExtra()
public StringgetName()
getName in interface
ArchiveEntry
getName in class
ZipEntry
public boolean isDirectory()
isDirectory in interface
ArchiveEntry
isDirectory in class
ZipEntry
protected void setName(Stringname)
name - the name to use
public long getSize()
getSize in interface
ArchiveEntry
getSize in class
ZipEntry
public void setSize(long size)
setSize in class
ZipEntry
size - the uncompressed size in bytes
IllegalArgumentException - if the specified size is less than 0
protected void setName(Stringname, byte[] rawName)
name - the name to use created from the raw bytes using the guessed or configured encoding
rawName - the bytes originally read as name from the archive
public byte[] getRawName()
This method will return null if this instance has not been read from an archive.
public int hashCode()
public GeneralPurposeBitgetGeneralPurposeBit()
public void setGeneralPurposeBit(GeneralPurposeBitb)
public DategetLastModifiedDate()
ArchiveEntry
getLastModifiedDate in interface
ArchiveEntry
public boolean equals(Objectobj)