我非常需要一个生成真正随机,不可压缩虚拟文件的随机文件生成器。
我最终得到了这个delphi代码。 工作,但痛苦地懒散
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,
我的问题是:我可以使用 fast 随机文件生成器吗?只要符合以下条件,Delphi代码和/或命令行工具都可以接受:
编辑对于有兴趣的人,我应用了我在这里收到的建议made this function,它足够快& 7zip很难压缩生成的数据。
答案 0 :(得分:9)
使用4096字节的页面大小或多页面大小的缓冲区。一次写一个整数会很慢。
答案 1 :(得分:1)
您可以使用我用于在我的项目中生成测试数据的generate_random_file.py脚本(Python 3)。
os.urandom()
以256 KiB的块生成随机数据,而不是分别生成和写入每个字节。