我想要一種方法來生成一個包含Java中隨機位的文件。什麼會創建最快的隨機文件?我想創建包含隨機位的任何指定大小的文件。我希望能夠在幾分鐘內生成一個2GB的文件(如果可能的話,少於一分鐘)。我現在使用的技術需要數個小時做2GB:在Java中創建包含隨機字節的2GB文件的最快方法是什麼?
...
private static Random r = new Random();
private static int rand(int lo, int hi) {
int n = hi - lo + 1;
int i = r.nextInt() % n;
if (i < 0) {
i = -i;
}
return lo + i;
}
...
fos = new FileOutputStream(hdFiller);
for(long i = 0; i < maxFileSize; i++) {
int idx = rand(0,32);
fos.write(idx);
}
fos.close();
...
有一定是一個更快的方式做到這一點,甚至在小於2GB的一分鐘。
謝謝。
你在哪個平臺上?如果是unix-ish,你最好在命令行執行此操作:'dd if =/dev/urandom of = random.txt bs = 4096 count = 512'(4096 * 512 = 2meg,根據需要調整你的2gig)。 – 2012-08-10 18:16:04
@MarcB美麗! – Eugene 2012-08-10 18:17:49
隨機隨機性如何?隨機性越大,需要的時間越長。爲什麼它需要隨機? – 2012-08-10 21:12:29