📄 strings.java.svn-base
字号:
package com.hiany.util;
public class Strings {
/**
* 生成指定长度的随机字符串,包含数字、大写字母、小写字母;
*
* @param length
* @return
*/
public static String radmonCharecters(int length) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < length; i++) {
char n = (char) (Math.random() * 62);
if (n < 10) {
n += 48; // 数字
} else if (n < 36) {
n = (char) ((n - 10) + 65); // 大写字母
} else {
n = (char) ((n - 36) + 97); // 小写字母
}
sb.append(n);
}
return sb.toString();
}
/**
* 计算StringBuffer中指定字符串出现的次数;
* @param sb 源字符串缓冲区
* @param str 要计算出现次数的字符串
* @return
*/
public static int countWords(StringBuffer sb, String str){
int cnt = 0;
for(int pos=0;;){
pos = sb.indexOf(str, pos);
if(pos<0){
break;
}
cnt ++;
if(pos < sb.length()+str.length()){
pos += str.length();
}else{
break;
}
}
return cnt;
}
/**
* 把字节数组转换成16进制(每字节成为2位16进制字符)的字符串
* @param buf
* @return
*/
public static String bytesToHexString(byte[] buf){
StringBuffer sb = new StringBuffer();
for (int i = 0; i < buf.length; i++) {
int b = new Byte(buf[i]).intValue() + 128;
sb.append(String.format("%02x", b));
}
return sb.toString();
}
/**
* 把16进制(每字节成为2位16进制字符)的字符串转换成字节数组
* @param str
* @param buf
* @return 返回字节数组的长度
*/
public static byte[] hexStringToBytes(String str){
byte[] buf = new byte[8192];
byte[] buffer;
int i=0;
for (i = 0; i < str.length()-1; i+=2) {
int a = Integer.parseInt(str.substring(i,i+2), 16);
byte b = (byte)(a - 128);
buf[i/2] = new Integer(b).byteValue();
}
buffer = new byte[i/2];
for(int j=0;j<i/2;j++){
buffer[j] = buf[j];
}
return buffer;
}
public static void main(String args[]){
//StringBuffer sb = new StringBuffer("<dkfjsa<dksfafdsl>fdska<fdkfakfds<fdsalfa<dalf>fdsa<");
//System.out.println( Strings.countWords(sb, "<"));
String str = "hello,world!";
System.out.println("str len:"+ str.length());
byte[] buf = str.getBytes();
System.out.println("buf len:"+ str.length());
String hexstr = Strings.bytesToHexString(buf);
System.out.println("hex len:" + hexstr.length() +",hex:" + hexstr);
System.out.println("bytes:[" + new String(Strings.hexStringToBytes(hexstr)) +"]");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -