public class ExtraFieldUtils
extends java.lang.Object
限定符和类型 | 类和说明 |
---|---|
static class |
ExtraFieldUtils.UnparseableExtraField
"enum" for the possible actions to take if the extra field cannot be
parsed.
|
构造器和说明 |
---|
ExtraFieldUtils() |
限定符和类型 | 方法和说明 |
---|---|
static ZipExtraField |
createExtraField(ZipShort headerId)
Create an instance of the approriate ExtraField, falls back to
UnrecognizedExtraField . |
static byte[] |
mergeCentralDirectoryData(ZipExtraField[] data)
Merges the central directory fields of the given ZipExtraFields.
|
static byte[] |
mergeLocalFileDataData(ZipExtraField[] data)
Merges the local file data fields of the given ZipExtraFields.
|
static ZipExtraField[] |
parse(byte[] data)
Split the array into ExtraFields and populate them with the given data as
local file data, throwing an exception if the data cannot be parsed.
|
static ZipExtraField[] |
parse(byte[] data,
boolean local)
Split the array into ExtraFields and populate them with the given data,
throwing an exception if the data cannot be parsed.
|
static ZipExtraField[] |
parse(byte[] data,
boolean local,
ExtraFieldUtils.UnparseableExtraField onUnparseableData)
Split the array into ExtraFields and populate them with the given data.
|
static void |
register(java.lang.Class c)
Register a ZipExtraField implementation.
|
public static void register(java.lang.Class c)
The given class must have a no-arg constructor and implement the
ZipExtraField interface
.
c
- the class to registerpublic static ZipExtraField createExtraField(ZipShort headerId) throws java.lang.InstantiationException, java.lang.IllegalAccessException
UnrecognizedExtraField
.headerId
- the header identifierjava.lang.InstantiationException
- if unable to instantiate the classjava.lang.IllegalAccessException
- if not allowed to instatiate the classpublic static ZipExtraField[] parse(byte[] data) throws java.util.zip.ZipException
data
- an array of bytes as it appears in local file datajava.util.zip.ZipException
- on errorpublic static ZipExtraField[] parse(byte[] data, boolean local) throws java.util.zip.ZipException
data
- an array of byteslocal
- whether data originates from the local file data or the
central directoryjava.util.zip.ZipException
- on errorpublic static ZipExtraField[] parse(byte[] data, boolean local, ExtraFieldUtils.UnparseableExtraField onUnparseableData) throws java.util.zip.ZipException
data
- an array of byteslocal
- whether data originates from the local file data or the
central directoryonUnparseableData
- what to do if the extra field data cannot be parsed.java.util.zip.ZipException
- on errorpublic static byte[] mergeLocalFileDataData(ZipExtraField[] data)
data
- an array of ExtraFilespublic static byte[] mergeCentralDirectoryData(ZipExtraField[] data)
data
- an array of ExtraFields