org.apache.poi.hpsf
Class Util

java.lang.Object
  extended by org.apache.poi.hpsf.Util

public class Util
extends java.lang.Object

Provides various static utility methods.

Author:
Rainer Klute (klute@rainer-klute.de)

Field Summary
static long EPOCH_DIFF
          The difference between the Windows epoch (1601-01-01 00:00:00) and the Unix epoch (1970-01-01 00:00:00) in milliseconds: 11644473600000L.
 
Constructor Summary
Util()
           
 
Method Summary
static byte[] cat(byte[][] byteArrays)
          Concatenates the contents of several byte arrays into a single one.
static byte[] copy(byte[] src, int offset, int length)
          Copies bytes from a source byte array into a new byte array.
static void copy(byte[] src, int srcOffset, int length, byte[] dst, int dstOffset)
          Copies a part of a byte array into another byte array.
static long dateToFileTime(java.util.Date date)
          Converts a Date into a filetime.
static boolean equal(byte[] a, byte[] b)
          Checks whether two byte arrays a and b are equal.
static boolean equals(java.util.Collection<?> c1, java.util.Collection<?> c2)
          Checks whether two collections are equal.
static boolean equals(java.lang.Object[] c1, java.lang.Object[] c2)
          Compares to object arrays with regarding the objects' order.
static java.util.Date filetimeToDate(int high, int low)
          Converts a Windows FILETIME into a Date.
static java.util.Date filetimeToDate(long filetime)
          Converts a Windows FILETIME into a Date.
static byte[] pad4(byte[] ba)
          Pads a byte array with 0x00 bytes so that its length is a multiple of 4.
static char[] pad4(char[] ca)
          Pads a character array with 0x0000 characters so that its length is a multiple of 4.
static char[] pad4(java.lang.String s)
          Pads a string with 0x0000 characters so that its length is a multiple of 4.
static java.lang.String toString(java.lang.Throwable t)
          Returns a textual representation of a Throwable, including a stacktrace.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EPOCH_DIFF

public static final long EPOCH_DIFF

The difference between the Windows epoch (1601-01-01 00:00:00) and the Unix epoch (1970-01-01 00:00:00) in milliseconds: 11644473600000L. (Use your favorite spreadsheet program to verify the correctness of this value. By the way, did you notice that you can tell from the epochs which operating system is the modern one? :-))

See Also:
Constant Field Values
Constructor Detail

Util

public Util()
Method Detail

equal

public static boolean equal(byte[] a,
                            byte[] b)

Checks whether two byte arrays a and b are equal. They are equal

Parameters:
a - The first byte array
b - The first byte array
Returns:
true if the byte arrays are equal, else false

copy

public static void copy(byte[] src,
                        int srcOffset,
                        int length,
                        byte[] dst,
                        int dstOffset)

Copies a part of a byte array into another byte array.

Parameters:
src - The source byte array.
srcOffset - Offset in the source byte array.
length - The number of bytes to copy.
dst - The destination byte array.
dstOffset - Offset in the destination byte array.

cat

public static byte[] cat(byte[][] byteArrays)

Concatenates the contents of several byte arrays into a single one.

Parameters:
byteArrays - The byte arrays to be concatened.
Returns:
A new byte array containing the concatenated byte arrays.

copy

public static byte[] copy(byte[] src,
                          int offset,
                          int length)

Copies bytes from a source byte array into a new byte array.

Parameters:
src - Copy from this byte array.
offset - Start copying here.
length - Copy this many bytes.
Returns:
The new byte array. Its length is number of copied bytes.

filetimeToDate

public static java.util.Date filetimeToDate(int high,
                                            int low)

Converts a Windows FILETIME into a Date. The Windows FILETIME structure holds a date and time associated with a file. The structure identifies a 64-bit integer specifying the number of 100-nanosecond intervals which have passed since January 1, 1601. This 64-bit value is split into the two double words stored in the structure.

Parameters:
high - The higher double word of the FILETIME structure.
low - The lower double word of the FILETIME structure.
Returns:
The Windows FILETIME as a Date.

filetimeToDate

public static java.util.Date filetimeToDate(long filetime)

Converts a Windows FILETIME into a Date. The Windows FILETIME structure holds a date and time associated with a file. The structure identifies a 64-bit integer specifying the number of 100-nanosecond intervals which have passed since January 1, 1601.

Parameters:
filetime - The filetime to convert.
Returns:
The Windows FILETIME as a Date.

dateToFileTime

public static long dateToFileTime(java.util.Date date)

Converts a Date into a filetime.

Parameters:
date - The date to be converted
Returns:
The filetime
See Also:
filetimeToDate(long), filetimeToDate(int, int)

equals

public static boolean equals(java.util.Collection<?> c1,
                             java.util.Collection<?> c2)

Checks whether two collections are equal. Two collections C1 and C2 are equal, if the following conditions are true:

Parameters:
c1 - the first collection
c2 - the second collection
Returns:
true if the collections are equal, else false.

equals

public static boolean equals(java.lang.Object[] c1,
                             java.lang.Object[] c2)

Compares to object arrays with regarding the objects' order. For example, [1, 2, 3] and [2, 1, 3] are equal.

Parameters:
c1 - The first object array.
c2 - The second object array.
Returns:
true if the object arrays are equal, false if they are not.

pad4

public static byte[] pad4(byte[] ba)

Pads a byte array with 0x00 bytes so that its length is a multiple of 4.

Parameters:
ba - The byte array to pad.
Returns:
The padded byte array.

pad4

public static char[] pad4(char[] ca)

Pads a character array with 0x0000 characters so that its length is a multiple of 4.

Parameters:
ca - The character array to pad.
Returns:
The padded character array.

pad4

public static char[] pad4(java.lang.String s)

Pads a string with 0x0000 characters so that its length is a multiple of 4.

Parameters:
s - The string to pad.
Returns:
The padded string as a character array.

toString

public static java.lang.String toString(java.lang.Throwable t)

Returns a textual representation of a Throwable, including a stacktrace.

Parameters:
t - The Throwable
Returns:
a string containing the output of a call to t.printStacktrace().


Copyright 2012 The Apache Software Foundation or its licensors, as applicable.