Thibstars icon

RandomStringGenerator

Thibstars | PRO | 03/02/17 08:48:42 AM UTC | 0 ⭐ | 326 👁️ | Never ⏰ | []
Java |

1.76 KB

|

None

|

0 👍

/

0 👎

/**
 * Class for generating random Strings.
 *
 * @author Thibault Helsmoortel
 */
public final class RandomStringGenerator {
 
    public static final String NUM = "0123456789";
    private static final String AB_FULL = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    private static final String AB_NONUM = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    private static Random rnd = new Random();
 
    /**
     * Returns a random alphanumeric String.
     *
     * @param length the length of the String
     * @return the random alphanumeric String
     */
    public static String randomAlphaNumericString(int length) {
        return getRandomString(length, AB_FULL).toString();
    }
 
    /**
     * Returns a random String (excluding numerical values).
     *
     * @param length the length of the String
     * @return the random String
     */
    public static String randomString(int length) {
        return getRandomString(length, AB_NONUM).toString();
    }
 
    /**
     * Returns a random numeric String.
     *
     * @param length the length of the String
     * @return the random String
     */
    public static String randomNumericString(int length) {
        return getRandomString(length, NUM).toString();
    }
 
    /**
     * Returns a StringBuilder instance with a random value, based on length and base String.
     *
     * @param length the length of the StringBuilder
     * @param base   the base String
     * @return a random StringBuilder
     */
    private static StringBuilder getRandomString(int length, String base) {
        StringBuilder sb = new StringBuilder(length);
        for (int i = 0; i < length; i++)
            sb.append(base.charAt(rnd.nextInt(base.length())));
        return sb;
    }
}

Comments