生成大量字符串到控制台

时间:2015-10-09 07:27:21

标签: java string console

我试图生成随机十六进制值的列表(超过500000)。我需要计算有多少唯一值,并能够将十六进制复制并粘贴到文本文件中。但是,当我尝试从控制台复制值时,我会丢失字符串。例如,创建了40000个十六进制值,但控制台仅列出了大约6000个值。该程序适用于较小的数字,并始终告诉我正确的唯一值。

   public class HexGenerator {
     private static String getRandomHexString(int numchars) {
       Random r = new Random();
       StringBuffer sb = new StringBuffer();
       while (sb.length() < numchars) {
         sb.append(Integer.toHexString(r.nextInt()));
       }

       return sb.toString().substring(0, numchars);
     }
     public static void main(String args[]) {
       LinkedList < String > address = new LinkedList < String > ();
       for (int x = 0; x < 40000; x++) {
         String a = getRandomHexString(4);
         System.out.println("7f1a9800" + a + " ");


         if (!address.contains(a))
           address.add(a);
       }
       System.out.println();
       System.out.println(address.size());
     }
   }

如何在控制台中打印所有字符串?

2 个答案:

答案 0 :(得分:3)

您的控制台有自己的限制。要将所有输出重定向到文本文件,请使用&#34; java MyProgram&gt; somefile.txt&#34; (我认为适用于Linux和Windows)。

答案 1 :(得分:0)

如果您使用的是Eclipse,请转到首选项 - &gt;运行/调试 - &gt;控制台并取消选择限制控制台输出。