Class ZipUtil
java.lang.Object
org.apache.commons.compress.archivers.zip.ZipUtil
Utility class for handling DOS and Java time conversions.
- This class is immutable
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic 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 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 ZipLongConverts 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).
-
Constructor Details
-
ZipUtil
public ZipUtil()
-
-
Method Details
-
adjustToLong
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
Converts DOS time to Java time (number of milliseconds since epoch).- Parameters:
dosTime- time to convert- Returns:
- converted time
-
fromDosTime
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
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
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
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
Converts a Date object to a DOS date/time field.- Parameters:
time- theDateto convert- Returns:
- the date as a
ZipLong
-
toDosTime
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
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
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:
IllegalArgumentException- if the provided integer is not inside the range [0,255].- Since:
- 1.5
-