项目用到一个随机生成字符串,在网上找到一些例子,在此记录一下
- import java.util.Random;
- public static String getRandomString(int length) {
- StringBuffer buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
- StringBuffer sb = new StringBuffer();
- Random r = new Random();
- int range = buffer.length();
- for (int i = 0; i < length; i ++) {
- sb.append(buffer.charAt(r.nextInt(range)));
- }
- return sb.toString();
- }
import java.util.Random;
public static String getRandomString(int length) {
StringBuffer buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
StringBuffer sb = new StringBuffer();
Random r = new Random();
int range = buffer.length();
for (int i = 0; i < length; i ++) {
sb.append(buffer.charAt(r.nextInt(range)));
}
return sb.toString();
}
- import java.util.Random;
- public class RandomUtils {
- public static final String allChar = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
- public static final String letterChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
- public static final String numberChar = "0123456789";
- /**
- * 返回一个定长的随机字符串(只包含大小写字母、数字)
- *
- * @param length 随机字符串长度
- * @return 随机字符串
- */
- public static String generateString(int length) {
- StringBuffer sb = new StringBuffer();
- Random random = new Random();
- for (int i = 0; i < length; i++) {
- sb.append(allChar.charAt(random.nextInt(allChar.length())));
- }
- return sb.toString();
- }
- /**
- * 返回一个定长的随机纯字母字符串(只包含大小写字母)
- *
- * @param length 随机字符串长度
- * @return 随机字符串
- */
- public static String generateMixString(int length) {
- StringBuffer sb = new StringBuffer();
- Random random = new Random();
- for (int i = 0; i < length; i++) {
- sb.append(allChar.charAt(random.nextInt(letterChar.length())));
- }
- return sb.toString();
- }
- /**
- * 返回一个定长的随机纯大写字母字符串(只包含大小写字母)
- *
- * @param length 随机字符串长度
- * @return 随机字符串
- */
- public static String generateLowerString(int length) {
- return generateMixString(length).toLowerCase();
- }
- /**
- * 返回一个定长的随机纯小写字母字符串(只包含大小写字母)
- *
- * @param length 随机字符串长度
- * @return 随机字符串
- */
- public static String generateUpperString(int length) {
- return generateMixString(length).toUpperCase();
- }
- /**
- * 生成一个定长的纯0字符串
- *
- * @param length 字符串长度
- * @return 纯0字符串
- */
- public static String generateZeroString(int length) {
- StringBuffer sb = new StringBuffer();
- for (int i = 0; i < length; i++) {
- sb.append('0');
- }
- return sb.toString();
- }
- /**
- * 根据数字生成一个定长的字符串,长度不够前面补0
- *
- * @param num 数字
- * @param fixdlenth 字符串长度
- * @return 定长的字符串
- */
- public static String toFixdLengthString(long num, int fixdlenth) {
- StringBuffer sb = new StringBuffer();
- String strNum = String.valueOf(num);
- if (fixdlenth - strNum.length() >= 0) {
- sb.append(generateZeroString(fixdlenth - strNum.length()));
- } else {
- throw new RuntimeException( "将数字" + num + "转化为长度为" + fixdlenth + "的字符串发生异常!");
- }
转载于:https://blog.51cto.com/ajiao13/1133472