Class ZipUtil
- java.lang.Object
-
- org.apache.commons.compress.archivers.zip.ZipUtil
-
public abstract class ZipUtil extends java.lang.ObjectUtility 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 longadjustToLong(int i)Assumes a negative integer really is a positive integer that has wrapped around and re-creates the original value.static longdosToJavaTime(long dosTime)Converts DOS time to Java time (number of milliseconds since epoch).static java.util.DatefromDosTime(ZipLong zipDosTime)Converts a DOS date/time field to a Date object.static booleanisDosTime(long time)Tests whether a given time (in milliseconds since Epoch) can be safely represented as DOS timestatic byte[]reverse(byte[] array)Reverses a byte[] array.static intsignedByteToUnsignedInt(byte b)Converts a signed byte into an unsigned integer representation (e.g., -1 becomes 255).static byte[]toDosTime(long t)Converts a Date object to a DOS date/time field.static voidtoDosTime(long t, byte[] buf, int offset)Converts a Date object to a DOS date/time field.static ZipLongtoDosTime(java.util.Date time)Converts a Date object to a DOS date/time field.static byteunsignedIntToSignedByte(int i)Converts an unsigned integer to a signed byte (e.g., 255 becomes -1).
-
-
-
Method Detail
-
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.
-
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
-
fromDosTime
public static java.util.Date fromDosTime(ZipLong zipDosTime)
Converts 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.
-
isDosTime
public static boolean isDosTime(long time)
Tests whether a given time (in milliseconds since Epoch) can be safely represented as DOS time- Parameters:
time- time in milliseconds since epoch- Returns:
- true if the time can be safely represented as DOS time, false otherwise
- Since:
- 1.23
-
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
-
toDosTime
public static ZipLong toDosTime(java.util.Date time)
Converts a Date object to a DOS date/time field.- Parameters:
time- theDateto convert- Returns:
- the date as a
ZipLong
-
toDosTime
public static byte[] toDosTime(long t)
Converts 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)Converts 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
-
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
-
-