Java数据库处理的方法库DBUtil(5)
发布时间:2021-06-07
发布时间:2021-06-07
b.DBUtil:Oracle、Postegres、Caasndra等数据库的访问执行方法 c.EncryptionUtil:加密算法,包括md5编码等。
后续还会继续完善各种协议的方法库,并在推广并公测一段时间后将以jar包的方式提供API接口调用。
1.将不同的byte[]字节数组流打包成一个字节数组
public static byte[] pack(byte[] agrs) throws IOException{ ByteArrayOutputStream bout = new ByteArrayOutputStream(); for(byte[] b:agrs){
bout.write(b);
}
byte[] buff = bout.toByteArray();
return buff;
}
2.在byte字节流中搜索指定字节流的位置,采用KMP算法实现。
/**取到字节流中指定字节流的位置
* The Knuth-Morris-Pratt Pattern Matching Algorithm can be used to search a byte array.
* Search the data byte array for the first occurrence
* of the byte array pattern.
*/
public static int indexOf(byte[] data, byte[] pattern) {
int[] failure = computeFailure(pattern);
int j = 0;
for (int i = 0; i < data.length; i++) {
while (j > 0 && pattern[j] != data[i]) {
j = failure[j - 1];
}
if (pattern[j] == data[i]) {
j++;
}
if (j == pattern.length) {
return i + 1;
//return i – pattern.length + 1;
}
}
return -1;
}
/**
* Computes the failure function using a boot-strapping process, * where the pattern is matched against itself.