项目用到一个随机生成字符串,在网上找到一些例子,在此记录一下

Java代码 复制代码 收藏代码
  1. import java.util.Random;
  2.  
  3. public static String getRandomString(int length) {
  4. StringBuffer buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
  5. StringBuffer sb = new StringBuffer();
  6. Random r = new Random();
  7. int range = buffer.length();
  8. for (int i = 0; i < length; i ++) {
  9. sb.append(buffer.charAt(r.nextInt(range)));
  10. }
  11. return sb.toString();
  12. }

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();  
}  

Java代码 复制代码 收藏代码
  1. import java.util.Random;
  2.   public class RandomUtils {
  3.   public static final String allChar = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  4.   public static final String letterChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  5.   public static final String numberChar = "0123456789";
  6.   /**
  7.   * 返回一个定长的随机字符串(只包含大小写字母、数字)
  8.   *
  9.   * @param length 随机字符串长度
  10.   * @return 随机字符串
  11.   */
  12.   public static String generateString(int length) {
  13.   StringBuffer sb = new StringBuffer();
  14.   Random random = new Random();
  15.   for (int i = 0; i < length; i++) {
  16.   sb.append(allChar.charAt(random.nextInt(allChar.length())));
  17.   }
  18.   return sb.toString();
  19.   }
  20.  
  21.   /**
  22.   * 返回一个定长的随机纯字母字符串(只包含大小写字母)
  23.   *
  24.   * @param length 随机字符串长度
  25.   * @return 随机字符串
  26.   */
  27.   public static String generateMixString(int length) {
  28.   StringBuffer sb = new StringBuffer();
  29.   Random random = new Random();
  30.   for (int i = 0; i < length; i++) {
  31.   sb.append(allChar.charAt(random.nextInt(letterChar.length())));
  32.   }
  33.   return sb.toString();
  34.   }
  35.  
  36.   /**
  37.   * 返回一个定长的随机纯大写字母字符串(只包含大小写字母)
  38.   *
  39.   * @param length 随机字符串长度
  40.   * @return 随机字符串
  41.   */
  42.   public static String generateLowerString(int length) {
  43.   return generateMixString(length).toLowerCase();
  44.   }
  45.  
  46.   /**
  47.   * 返回一个定长的随机纯小写字母字符串(只包含大小写字母)
  48.   *
  49.   * @param length 随机字符串长度
  50.   * @return 随机字符串
  51.   */
  52.   public static String generateUpperString(int length) {
  53.   return generateMixString(length).toUpperCase();
  54.   }
  55.  
  56.   /**
  57.   * 生成一个定长的纯0字符串
  58.   *
  59.   * @param length 字符串长度
  60.   * @return 纯0字符串
  61.   */
  62.   public static String generateZeroString(int length) {
  63.   StringBuffer sb = new StringBuffer();
  64.   for (int i = 0; i < length; i++) {
  65.   sb.append('0');
  66.   }
  67.   return sb.toString();
  68.   }
  69.  
  70.   /**
  71.   * 根据数字生成一个定长的字符串,长度不够前面补0
  72.   *
  73.   * @param num 数字
  74.   * @param fixdlenth 字符串长度
  75.   * @return 定长的字符串
  76.   */
  77.   public static String toFixdLengthString(long num, int fixdlenth) {
  78.   StringBuffer sb = new StringBuffer();
  79.   String strNum = String.valueOf(num);
  80.   if (fixdlenth - strNum.length() >= 0) {
  81.   sb.append(generateZeroString(fixdlenth - strNum.length()));
  82.   } else {
  83.   throw new RuntimeException( "将数字" + num + "转化为长度为" + fixdlenth + "的字符串发生异常!");
  84.   }