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
-
Method Summary
Modifier and TypeMethodDescriptionstatic 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 Date
fromDosTime
(ZipLong zipDosTime) Converts a DOS date/time field to a Date object.static boolean
isDosTime
(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 int
signedByteToUnsignedInt
(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 void
toDosTime
(long t, byte[] buf, int offset) Converts a Date object to a DOS date/time field.static ZipLong
Converts 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).
-
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
- theDate
to 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
-