`

java随机生成字符串

    博客分类:
  • Java
 
阅读更多
https://github.com/yhqmcq/infox-cms/blob/master/src/main/java/com/infox/common/util/RandomUtils.java

有修改
package com.pandy.net;

import java.util.Random;

/**
 * 项目名称: wp_idea_linux
 * 功能说明:
 * 创建者: Pandy,
 * 邮箱: panyongzheng@163.com, 1453261799@qq.com
 * 版权:
 * 官网:
 * 创建日期: 15-10-13.
 * 创建时间: 上午11:35.
 * 修改历史:
 * -----------------------------------------------
 */
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 generateNumber(int length) {
        StringBuffer sb = new StringBuffer();
        Random random = new Random();
        for (int i = 0; i < length; i++) {
            sb.append(numberChar.charAt(random.nextInt(numberChar.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(letterChar.charAt(random.nextInt(letterChar.length())));
        }
        return sb.toString();
    }

    /**
     * 返回一个定长的随机纯大写字母字符串(只包含大小写字母)
     *
     * @param length
     *            随机字符串长度
     * @return 随机字符串
     */
    public static String generateLowerString(int length) {
        return generateString(length).toLowerCase();
    }

    /**
     * 返回一个定长的随机纯小写字母字符串(只包含大小写字母)
     *
     * @param length
     *            随机字符串长度
     * @return 随机字符串
     */
    public static String generateUpperString(int length) {
        return generateString(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 + "的字符串发生异常!");
        }
        sb.append(strNum);
        return sb.toString();
    }

    /**
     * 根据数字生成一个定长的字符串,长度不够前面补0
     *
     * @param num
     *            数字
     * @param fixdlenth
     *            字符串长度
     * @return 定长的字符串
     */
    public static String toFixdLengthString(int 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 + "的字符串发生异常!");
        }
        sb.append(strNum);
        return sb.toString();
    }
    public static void main(String[] args) {
        System.out.println("generateNumber="+generateNumber(4));
        System.out.println("generateString="+generateString(15));
        System.out.println("generateMixString="+generateMixString(15));
        System.out.println("generateLowerString="+generateLowerString(15));
        System.out.println("generateUpperString="+generateUpperString(15));
        System.out.println("generateZeroString="+generateZeroString(15));
        System.out.println("toFixdLengthString="+toFixdLengthString(123, 15));
        System.out.println("toFixdLengthString="+toFixdLengthString(123L, 15));
    }

}

分享到:
评论

相关推荐

    java随机生成字符串(字符随机生成类 生成随机字符组合).docx

    ### Java随机生成字符串知识点解析 #### 一、概述 在软件开发过程中,有时我们需要生成随机字符串来满足不同的需求,比如生成验证码、密码等。本文档介绍了一种利用Java实现随机字符串生成的方法。此方法提供了...

    Java 生成随机字符串数组的实例详解

    Java 生成随机字符串数组的实例详解 Java 生成随机字符串数组的实例详解是一种常见的编程任务,主要是利用Collections.sort()方法对泛型为String的List进行排序。下面是一个详细的实例详解,介绍了生成随机字符串...

    Java获取随机字符串

    Java提供了多种方法来生成随机字符串,主要包括使用`java.util.Random`类和`java.security.SecureRandom`类。其中,`SecureRandom`类提供了一种更加安全的方式来生成随机数,它适合于安全性要求较高的应用场合。 ##...

    Java随机字符串生成器,可用于生成随机密码,密约等场景,支持字符范围配置(如只允许数字,只允许字母,只允许数字字母,特殊字符等混合配置)

    Java随机字符串生成器,可用于生成随机密码,加密算法密约(AES,RSA等)等场景,支持可选字符范围配置(如只允许数字,只允许字母,只允许数字字母,特殊字符等混合配置),即在选择的字符范围内去实现随机字符串...

    java随机生成字符串(字符随机生成类 生成随机字符组合)

    在Java编程语言中,生成随机字符串是一项常见的任务,特别是在创建密码、唯一标识符或测试数据时。本示例代码提供了一个名为`PassWord`的类,该类包含了一个枚举`TYPE`,用于定义不同类型的随机字符组合。下面将详细...

    Java根据正则表达式生成字符串—Xeger,automaton

    下面是一个基于RE2J和有限自动机生成字符串的例子: ```java import com.google.re2j.Pattern; import com.google.re2j.RE2; public class Main { public static void main(String[] args) { String regex = "^...

    java语言产生随机字符串代码正确版.txt

    java语言产生随机字符串代码正确版.txt

    根据正则表达式生成随机字符串

    根据java正则表达式生成一个随机的字符串,具体可以去一下网站看:https://code.google.com/p/xeger/

    java随机生成10位数的字符串ID

    Java随机生成10位数字符串ID方法详解 Java随机生成10位数字符串ID是Java编程中的一种常见需求,特别是在项目中需要唯一标识符的情况下。今天,我们将详细介绍Java随机生成10位数字符串ID的方法,并提供相应的代码...

    java生成随机字符串的两种方法

    Java生成随机字符串的两种方法 Java生成随机字符串是 Java 中一个常见的应用场景,例如在注册用户时生成验证码、生成订单号、生成唯一标识符等。今天我们将为大家详细介绍 Java 生成随机字符串的两种方法。 方法一...

    泰迪杯挑战数据_随机生成字符串_泰迪杯_

    在IT行业中,随机生成字符串是一项基础且重要的任务,它广泛应用于测试、密码生成、加密算法、数据填充等场景。"泰迪杯挑战数据_随机生成字符串_泰迪杯_"这个标题可能指的是一个编程竞赛或者练习项目,其中包含了对...

    字符串随机生成小软件

    随机生成字符串的方法多种多样,通常会涉及到随机数生成器。随机数生成器是编程中的一个重要组件,用于产生无法预测的数值。在生成字符串时,可以设置随机种子,确保每次运行生成的字符串不一致,增加数据的随机性和...

    生成随机字符串的方法

    2. **定义长度 (`length`):** 设置生成字符串的长度为32。 3. **循环生成:** 使用 `Random` 类生成一个介于0到35之间的随机数,然后从 `radStr` 中选择对应位置的字符加入到 `generateRandStr`。 4. **返回结果:** ...

    java随机生成时间字符串的方法

    Java 随机生成时间字符串的方法 Java 随机生成时间字符串的方法是指在 Java 编程语言中生成随机时间字符串的技巧和方法。随机生成时间字符串可以用于各种应用场景,例如数据模拟、测试数据生成、统计分析等。 在...

    随机生成字符串工具类

    规定随机字符串 定长的字符串 10位随机数和6位毫秒时间等

    java代码-使用java生成一个固定位数的随机字符串,并加密,和用户密码加密后的密文组合的源代码

    java代码-使用java生成一个固定位数的随机字符串,并加密,和用户密码加密后的密文组合的源代码 ——学习参考资料:仅用于个人学习使用!

    java 随机产生指定长度的用户名字母 数字格式

    ### Java随机生成指定长度的用户名(字母数字格式) 在日常的软件开发中,有时我们需要为系统自动生成一些临时用户账号或者密码。为了确保这些账号或密码的安全性和唯一性,我们通常会选择通过编程的方式生成随机的...

    唯一标示字符串生成工具类

    U,中间的数字不难看出是2013年12月20日03时23分13秒763毫秒,剩下的字符都是随机生成,且随机插入进去的,我试着运行了很多遍,每一毫秒最多生成20个这样的字符串,但是这儿是个字符串中要想其他随机生成的字符完全...

    Java生成含字母和数字的6位随机字符串

    在Java编程中,生成含字母和数字的随机字符串是一种常见的需求,例如用于验证码、唯一标识符等场景。标题提到的"Java生成含字母和数字的6位随机字符串",就是指通过编程方式创建一个长度为6的字符串,其中包含大小写...

Global site tag (gtag.js) - Google Analytics