Class ZipLong
- java.lang.Object
-
- org.apache.commons.compress.archivers.zip.ZipLong
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
public final class ZipLong extends java.lang.Object implements java.lang.Cloneable, java.io.Serializable
Utility class that represents a four byte integer with conversion rules for the little endian byte order of ZIP files.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static ZipLong
AED_SIG
Archive extra data record signature.static ZipLong
CFH_SIG
Central File Header Signaturestatic ZipLong
DD_SIG
Data Descriptor signature.static ZipLong
LFH_SIG
Local File Header Signaturestatic ZipLong
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).
-
Constructor Summary
Constructors Constructor Description ZipLong(byte[] bytes)
Create instance from bytes.ZipLong(byte[] bytes, int offset)
Create instance from the four bytes starting at offset.ZipLong(int value)
create instance from a java int.ZipLong(long value)
Create instance from a number.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone()
boolean
equals(java.lang.Object o)
Override to make two instances with same value equal.byte[]
getBytes()
Get value as four bytes in big endian byte order.static byte[]
getBytes(long value)
Get value as four bytes in big endian byte order.int
getIntValue()
Get value as a (signed) java intlong
getValue()
Get value as Java long.static long
getValue(byte[] bytes)
Helper method to get the value as a Java long from a four-byte arraystatic long
getValue(byte[] bytes, int offset)
Helper method to get the value as a Java long from four bytes starting at given array offsetint
hashCode()
Override to make two instances with same value equal.void
putLong(byte[] buf, int offset)
static void
putLong(long value, byte[] buf, int offset)
put the value as four bytes in big endian byte order.java.lang.String
toString()
-
-
-
Field Detail
-
CFH_SIG
public static final ZipLong CFH_SIG
Central File Header Signature
-
LFH_SIG
public static final ZipLong LFH_SIG
Local File Header Signature
-
DD_SIG
public static final ZipLong 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
-
SINGLE_SEGMENT_SPLIT_MARKER
public static final ZipLong 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
public static final ZipLong AED_SIG
Archive extra data record signature.- Since:
- 1.5
-
-
Constructor Detail
-
ZipLong
public ZipLong(long value)
Create instance from a number.- Parameters:
value
- the long to store as a ZipLong
-
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(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
-
-
Method Detail
-
getBytes
public byte[] getBytes()
Get value as four bytes in big endian byte order.- Returns:
- value as four bytes in big endian order
-
getValue
public long getValue()
Get value as Java long.- Returns:
- value as a long
-
getIntValue
public int getIntValue()
Get value as a (signed) java int- Returns:
- value as int
- Since:
- 1.15
-
getBytes
public static byte[] getBytes(long value)
Get 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
-
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
-
putLong
public void putLong(byte[] buf, int offset)
-
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
-
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
-
equals
public boolean equals(java.lang.Object o)
Override to make two instances with same value equal.- Overrides:
equals
in classjava.lang.Object
- Parameters:
o
- an object to compare- Returns:
- true if the objects are equal
-
hashCode
public int hashCode()
Override to make two instances with same value equal.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- the value stored in the ZipLong
-
clone
public java.lang.Object clone()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-