Class ZipLong
java.lang.Object
org.apache.commons.compress.archivers.zip.ZipLong
- All Implemented Interfaces:
Serializable,Cloneable
Utility class that represents a four byte integer with conversion
rules for the little endian byte order of ZIP files.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ZipLongArchive extra data record signature.static final ZipLongCentral File Header Signaturestatic final ZipLongData Descriptor signature.static final ZipLongLocal File Header Signatureprivate static final longstatic final ZipLongMarks ZIP archives that were supposed to be split or spanned but only needed a single segment in then end (so are actually neither split nor spanned).private final long(package private) static final ZipLongValue stored in size and similar fields if ZIP64 extensions are used. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()booleanOverride to make two instances with same value equal.byte[]getBytes()Gets value as four bytes in big endian byte order.static byte[]getBytes(long value) Gets value as four bytes in big endian byte order.intGets value as a (signed) java intlonggetValue()Gets value as Java long.static longgetValue(byte[] bytes) Helper method to get the value as a Java long from a four-byte arraystatic longgetValue(byte[] bytes, int offset) Helper method to get the value as a Java long from four bytes starting at given array offsetinthashCode()Override to make two instances with same value equal.voidputLong(byte[] buf, int offset) static voidputLong(long value, byte[] buf, int offset) put the value as four bytes in big endian byte order.toString()
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
CFH_SIG
Central File Header Signature -
LFH_SIG
Local File Header Signature -
DD_SIG
Data Descriptor signature.Actually, PKWARE uses this as marker for split/spanned archives and other archivers have started to use it as Data Descriptor signature (as well).
- Since:
- 1.1
-
ZIP64_MAGIC
Value stored in size and similar fields if ZIP64 extensions are used.- Since:
- 1.3
-
SINGLE_SEGMENT_SPLIT_MARKER
Marks ZIP archives that were supposed to be split or spanned but only needed a single segment in then end (so are actually neither split nor spanned).This is the "PK00" prefix found in some archives.
- Since:
- 1.5
-
AED_SIG
Archive extra data record signature.- Since:
- 1.5
-
value
private final long value
-
-
Constructor Details
-
ZipLong
public ZipLong(byte[] bytes) Create instance from bytes.- Parameters:
bytes- the bytes to store as a ZipLong
-
ZipLong
public ZipLong(byte[] bytes, int offset) Create instance from the four bytes starting at offset.- Parameters:
bytes- the bytes to store as a ZipLongoffset- the offset to start
-
ZipLong
public ZipLong(int value) create instance from a java int.- Parameters:
value- the int to store as a ZipLong- Since:
- 1.15
-
ZipLong
public ZipLong(long value) Create instance from a number.- Parameters:
value- the long to store as a ZipLong
-
-
Method Details
-
getBytes
public static byte[] getBytes(long value) Gets value as four bytes in big endian byte order.- Parameters:
value- the value to convert- Returns:
- value as four bytes in big endian byte order
-
getValue
public static long getValue(byte[] bytes) Helper method to get the value as a Java long from a four-byte array- Parameters:
bytes- the array of bytes- Returns:
- the corresponding Java long value
-
getValue
public static long getValue(byte[] bytes, int offset) Helper method to get the value as a Java long from four bytes starting at given array offset- Parameters:
bytes- the array of bytesoffset- the offset to start- Returns:
- the corresponding Java long value
-
putLong
public static void putLong(long value, byte[] buf, int offset) put the value as four bytes in big endian byte order.- Parameters:
value- the Java long to convert to bytesbuf- the output bufferoffset- The offset within the output buffer of the first byte to be written. must be non-negative and no larger thanbuf.length-4
-
clone
-
equals
Override to make two instances with same value equal. -
getBytes
public byte[] getBytes()Gets value as four bytes in big endian byte order.- Returns:
- value as four bytes in big endian order
-
getIntValue
public int getIntValue()Gets value as a (signed) java int- Returns:
- value as int
- Since:
- 1.15
-
getValue
public long getValue()Gets value as Java long.- Returns:
- value as a long
-
hashCode
public int hashCode()Override to make two instances with same value equal. -
putLong
public void putLong(byte[] buf, int offset) -
toString
-