我非常需要一個隨機文件生成器,生成一個真正的隨機,不可壓縮虛擬文件。隨機文件生成器(再次!)
我結束了這個delphi代碼。它工作,但它是痛苦sloooow
var
Buf : Integer;
TheFile : TFileStream;
begin
TheFile := TFileStream.Create(FileName, fmCreate OR fmOpenReadWrite);
with TheFile do
begin
for i := 0 to FileSize do // Iterate
begin
Buf := Random(999999) * i;
WriteBuffer(Buf, SizeOf(Buf));
end; // for
end; // with
end,
我的問題是:是否有快速隨機文件,我可以使用發電機?無論Delphi代碼和/或命令行工具都可以接受的,只要:
- 我可以毫不手動干預在Windows 運行它(我需要爲我的測試中,不干預是允許的)
- 這是產生快速
- 文件是不可壓縮(即壓縮生成的文件導致沒有節省空間)
編輯對於那些有興趣,我申請我收到這裏made this function的建議,它的速度不夠快& 7zip的具有硬時間壓縮生成的數據。
剖析你的代碼並找出它花費的最多時間。 – japreiss 2012-04-18 19:17:10
他可能更適合使用CryptoAPI填充用於寫入文件的緩衝區。有一些C代碼 - http://msdn.microsoft.com/en-us/library/aa382048.aspx這是一個很好的起點 – Petesh 2012-04-18 19:18:25
Buf是什麼類型?我是什麼類型的?終止是否應該是'FileSize-1'? – 2012-04-18 19:21:07