我需要编写一个可以在Java中生成x字节大小的随机字符串的函数吗?
例如 - 如何生成300字节或(+ -50字节也很好)的字符串,我将使用的编码为UTF-8
。
我知道如何在Java中生成随机字符串,但不知道如何获得预定义字节的随机字符串 -
public static String generateString(Random random, String characters, int length)
{
char[] text = new char[length];
for (int i = 0; i < length; i++)
{
text[i] = characters.charAt(random.nextInt(characters.length()));
}
return new String(text);
}
答案 0 :(得分:0)
如果我理解你的问题,那就相当简单了。您可以使用StringBuilder
随机附加从输入字母表中选择的字符。像,
public static String generateString(Random random, String characters,
int length) {
StringBuilder sb = new StringBuilder(length);
for (int i = 0; i < length; i++) {
sb.append(characters.charAt(random.nextInt(characters.length())));
}
return sb.toString();
}
如果您使用String characters
来呼叫,例如
String abc = "abcdefghijklmnopqrstuvwxyz";
String characters = "0123456789" + abc + abc.toUpperCase() + "{}[]()";
我认为你会得到你想要的人类可读的输出。