Methods Summary |
---|
public static byte[] | cat(byte[][] byteArrays)Concatenates the contents of several byte arrays into a
single one.
int capacity = 0;
for (int i = 0; i < byteArrays.length; i++)
capacity += byteArrays[i].length;
final byte[] result = new byte[capacity];
int r = 0;
for (int i = 0; i < byteArrays.length; i++)
for (int j = 0; j < byteArrays[i].length; j++)
result[r++] = byteArrays[i][j];
return result;
|
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.
for (int i = 0; i < length; i++)
dst[dstOffset + i] = src[srcOffset + i];
|
public static byte[] | copy(byte[] src, int offset, int length)Copies bytes from a source byte array into a new byte
array.
final byte[] result = new byte[length];
copy(src, offset, length, result, 0);
return result;
|
public static long | dateToFileTime(java.util.Date date)Converts a {@link Date} into a filetime.
long ms_since_19700101 = date.getTime();
long ms_since_16010101 = ms_since_19700101 + EPOCH_DIFF;
return ms_since_16010101 * (1000 * 10);
|
public static boolean | equal(byte[] a, byte[] b)Checks whether two byte arrays a and b
are equal. They are equal
if (a.length != b.length)
return false;
for (int i = 0; i < a.length; i++)
if (a[i] != b[i])
return false;
return true;
|
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:
For each c1i (element of C1) there
is a c2j (element of C2), and
c1i equals c2j.
For each c2i (element of C2) there
is a c1j (element of C1) and
c2i equals c1j.
final Object[] o1 = c1.toArray();
final Object[] o2 = c2.toArray();
return internalEquals(o1, o2);
|
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.
final Object[] o1 = (Object[]) c1.clone();
final Object[] o2 = (Object[]) c2.clone();
return internalEquals(o1, o2);
|
public static java.util.Date | filetimeToDate(int high, int low)Converts a Windows FILETIME into a {@link 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.
final long filetime = ((long) high) << 32 | (low & 0xffffffffL);
return filetimeToDate(filetime);
|
public static java.util.Date | filetimeToDate(long filetime)Converts a Windows FILETIME into a {@link 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.
final long ms_since_16010101 = filetime / (1000 * 10);
final long ms_since_19700101 = ms_since_16010101 - EPOCH_DIFF;
return new Date(ms_since_19700101);
|
private static boolean | internalEquals(java.lang.Object[] o1, java.lang.Object[] o2)
for (int i1 = 0; i1 < o1.length; i1++)
{
final Object obj1 = o1[i1];
boolean matchFound = false;
for (int i2 = 0; !matchFound && i2 < o1.length; i2++)
{
final Object obj2 = o2[i2];
if (obj1.equals(obj2))
{
matchFound = true;
o2[i2] = null;
}
}
if (!matchFound)
return false;
}
return true;
|
public static byte[] | pad4(byte[] ba)Pads a byte array with 0x00 bytes so that its length is a multiple of
4.
final int PAD = 4;
final byte[] result;
int l = ba.length % PAD;
if (l == 0)
result = ba;
else
{
l = PAD - l;
result = new byte[ba.length + l];
System.arraycopy(ba, 0, result, 0, ba.length);
}
return result;
|
public static char[] | pad4(char[] ca)Pads a character array with 0x0000 characters so that its length is a
multiple of 4.
final int PAD = 4;
final char[] result;
int l = ca.length % PAD;
if (l == 0)
result = ca;
else
{
l = PAD - l;
result = new char[ca.length + l];
System.arraycopy(ca, 0, result, 0, ca.length);
}
return result;
|
public static char[] | pad4(java.lang.String s)Pads a string with 0x0000 characters so that its length is a
multiple of 4.
return pad4(s.toCharArray());
|
public static java.lang.String | toString(java.lang.Throwable t)Returns a textual representation of a {@link Throwable}, including a
stacktrace.
final StringWriter sw = new StringWriter();
final PrintWriter pw = new PrintWriter(sw);
t.printStackTrace(pw);
pw.close();
try
{
sw.close();
return sw.toString();
}
catch (IOException e)
{
final StringBuffer b = new StringBuffer(t.getMessage());
b.append("\n");
b.append("Could not create a stacktrace. Reason: ");
b.append(e.getMessage());
return b.toString();
}
|