import java.util.Random;
/**
* 随机字符串工具生成器
* User: franco
* Date: 2009-05-29 2:23:36
*/
public class RandomUtils{
public static final String numbers = "0123456789";
public static final String letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
public static final String mixings = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
/**
* 返回一个定长的随机字符串(只包含大小写字母、数字)
* @param length 随机字符串长度
* @return 随机字符串
*/
public static String getRandomMixings(int length){
StringBuffer sb = new StringBuffer();
Random random = new Random();
for (int i = 0; i < length; i++){
sb.append(mixings.charAt(random.nextInt(mixings.length())));
}
return sb.toString();
}
/**
* 返回一个定长的随机纯字母字符串(只包含大小写字母)
* @param length 随机字符串长度
* @return 随机字符串
*/
public static String getRandomLetters(int length){
StringBuffer sb = new StringBuffer();
Random random = new Random();
for (int i = 0; i < length; i++) {
sb.append(letters.charAt(random.nextInt(letters.length())));
}
return sb.toString();
}
/**
* 返回一个定长的随机纯小写字母字符串(只包含小写字母)
* @param length 随机字符串长度
* @return 随机字符串
*/
public static String getRandomLowerLetters(int length){
return getRandomLetters(length).toLowerCase();
}
/**
* 返回一个定长的随机纯小写字母字符串(只包含大小写字母)
* @param length 随机字符串长度
* @return 随机字符串
*/
public static String getRandomUpperLetters(int length){
return getRandomLetters(length).toUpperCase();
}
/**
* 生成一个定长的指定字符的字符串
* @param length 字符串长度
* @param ch 指定字符
* @return 指定字符的字符串
*/
public static String getOrderString(int length, char ch){
StringBuffer sb = new StringBuffer();
for (int i = 0; i < length; i++) {
sb.append('ch');
}
return sb.toString();
}
/**
* 根据数字生成一个定长的字符串,长度不够前面补指定字符
* @param num 数字
* @param fixdlenth 字符串长度
* @param ch 指定字符
* @return 定长的字符串
*/
public static String numberToFixLengthString(long num, int fixdlenth, char ch){
StringBuffer sb = new StringBuffer();
String strNum = String.valueOf(num);
if (fixdlenth - strNum.length() >= 0) {
sb.append(getOrderString((fixdlenth - strNum.length()),ch));
} else {
throw new RuntimeException("将数字" + num + "转化为长度为" + fixdlenth + "的字符串发生异常!");
}
sb.append(strNum);
return sb.toString();
}
}