RandomString.java [src/m/utils] Revision: default Date:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package m.utils;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
/**
*
* @author ktraff
*/
public class RandomString {
private static final char[] symbols;
public int length;
static {
StringBuilder tmp = new StringBuilder();
for (char ch = '0'; ch <= '9'; ++ch)
tmp.append(ch);
for (char ch = 'a'; ch <= 'z'; ++ch)
tmp.append(ch);
for (char ch = 'A'; ch <= 'Z'; ++ch)
tmp.append(ch);
symbols = tmp.toString().toCharArray();
}
private final Random random = new Random();
private final char[] buf;
public RandomString(int length) {
if (length < 1)
throw new IllegalArgumentException("length < 1: " + length);
this.length = length;
buf = new char[length];
}
public String nextString() {
for (int idx = 0; idx < buf.length; ++idx)
buf[idx] = symbols[random.nextInt(symbols.length)];
return new String(buf);
}
public String nextDateString() {
String dt = new SimpleDateFormat("yyyyMMddHHmmssSS").format(new Date());
return dt.substring(Math.max(0, dt.length() - length));
}
}