Class ZipUtil
- java.lang.Object
-
- org.apache.commons.compress.archivers.zip.ZipUtil
-
public abstract class ZipUtil extends java.lang.Object
Utility class for handling DOS and Java time conversions.
-
-
Constructor Summary
Constructors Constructor Description ZipUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static long
adjustToLong(int i)
Assumes a negative integer really is a positive integer that has wrapped around and re-creates the original value.static long
dosToJavaTime(long dosTime)
Converts DOS time to Java time (number of milliseconds since epoch).static java.util.Date
fromDosTime(ZipLong zipDosTime)
Convert a DOS date/time field to a Date object.static byte[]
reverse(byte[] array)
Reverses a byte[] array.static int
signedByteToUnsignedInt(byte b)
Converts a signed byte into an unsigned integer representation (e.g., -1 becomes 255).static byte[]
toDosTime(long t)
Convert a Date object to a DOS date/time field.static void
toDosTime(long t, byte[] buf, int offset)
Convert a Date object to a DOS date/time field.static ZipLong
toDosTime(java.util.Date time)
Convert a Date object to a DOS date/time field.static byte
unsignedIntToSignedByte(int i)
Converts an unsigned integer to a signed byte (e.g., 255 becomes -1).
-
-
-
Method Detail
-
toDosTime
public static ZipLong toDosTime(java.util.Date time)
Convert a Date object to a DOS date/time field.- Parameters:
time
- theDate
to convert- Returns:
- the date as a
ZipLong
-
toDosTime
public static byte[] toDosTime(long t)
Convert a Date object to a DOS date/time field.Stolen from InfoZip's
fileio.c
- Parameters:
t
- number of milliseconds since the epoch- Returns:
- the date as a byte array
-
toDosTime
public static void toDosTime(long t, byte[] buf, int offset)
Convert a Date object to a DOS date/time field.Stolen from InfoZip's
fileio.c
- Parameters:
t
- number of milliseconds since the epochbuf
- 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
-
adjustToLong
public static long adjustToLong(int i)
Assumes a negative integer really is a positive integer that has wrapped around and re-creates the original value.- Parameters:
i
- the value to treat as unsigned int.- Returns:
- the unsigned int as a long.
-
reverse
public static byte[] reverse(byte[] array)
Reverses a byte[] array. Reverses in-place (thus provided array is mutated), but also returns same for convenience.- Parameters:
array
- to reverse (mutated in-place, but also returned for convenience).- Returns:
- the reversed array (mutated in-place, but also returned for convenience).
- Since:
- 1.5
-
signedByteToUnsignedInt
public static int signedByteToUnsignedInt(byte b)
Converts a signed byte into an unsigned integer representation (e.g., -1 becomes 255).- Parameters:
b
- byte to convert to int- Returns:
- int representation of the provided byte
- Since:
- 1.5
-
unsignedIntToSignedByte
public static byte unsignedIntToSignedByte(int i)
Converts an unsigned integer to a signed byte (e.g., 255 becomes -1).- Parameters:
i
- integer to convert to byte- Returns:
- byte representation of the provided int
- Throws:
java.lang.IllegalArgumentException
- if the provided integer is not inside the range [0,255].- Since:
- 1.5
-
fromDosTime
public static java.util.Date fromDosTime(ZipLong zipDosTime)
Convert a DOS date/time field to a Date object.- Parameters:
zipDosTime
- contains the stored DOS time.- Returns:
- a Date instance corresponding to the given time.
-
dosToJavaTime
public static long dosToJavaTime(long dosTime)
Converts DOS time to Java time (number of milliseconds since epoch).- Parameters:
dosTime
- time to convert- Returns:
- converted time
-
-