-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUtils.java
69 lines (64 loc) · 2.51 KB
/
Utils.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package de.jan.HuffmanAlgorithm;
public class Utils {
public static String [] addArrays(String [] array1, String [] array2) {
if (array1 == null) {
return array2.clone();
} else if (array2 == null) {
return array1.clone();
}
final String[] joinedArray = new String[array1.length + array2.length];
System.arraycopy(array1, 0, joinedArray, 0, array1.length);
System.arraycopy(array2, 0, joinedArray, array1.length, array2.length);
return joinedArray;
}
public static byte [] addArrays(byte [] array1, byte [] array2) {
if (array1 == null) {
return array2.clone();
} else if (array2 == null) {
return array1.clone();
}
final byte[] joinedArray = new byte[array1.length + array2.length];
System.arraycopy(array1, 0, joinedArray, 0, array1.length);
System.arraycopy(array2, 0, joinedArray, array1.length, array2.length);
return joinedArray;
}
// public static <t> t[] addArrays(t [] array1, t [] array2) {
// if (array1 == null) {
// return array2.clone();
// } else if (array2 == null) {
// return array1.clone();
// }
// @SuppressWarnings("unchecked")
// final t[] joinedArray = (t[]) new Object[array1.length + array2.length];
// System.arraycopy(array1, 0, joinedArray, 0, array1.length);
// System.arraycopy(array2, 0, joinedArray, array1.length, array2.length);
// return joinedArray;
// }
public static byte[] addByteToArray(byte[] array, byte b) {
byte [] temp = {b};
return Utils.addArrays(temp, array);
}
// public static byte [] stringToBits(String stringInput) {
// int byteArrayLength = (int) Math.ceil(stringInput.length() / 8.0);
// byte [] byteArray = new byte[byteArrayLength + 1];
// int byteArrayRemainders = (stringInput.length() % 8);
// byteArray[0] = (byte)byteArrayRemainders;
// int arrayPosition = 1;
// int bytePosition = 0;
// for (char ch : stringInput.toCharArray()) {
// if (ch == '0') {
// byteArray[arrayPosition] |= 0 << (7-bytePosition);
// } else if (ch == '1') {
// byteArray[arrayPosition] |= 1 << (7-bytePosition);
// } else {
// System.out.println("An error occured in stringToBits");
// }
// bytePosition++;
// if (bytePosition == 8) {
// bytePosition = 0;
// arrayPosition++;
// }
// }
// return byteArray;
// }
}