Bardzo potrzebuję generatora plików losowych, który generuje prawdziwie losowe, nieściśliwe pliki obojętne.Generator plików losowych (ponownie!)
Skończyłem z tym kodem delphi. Działa , ale to boleśnie 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,
Moje pytanie brzmi: Czy istnieje szybko losowy generator plików, które można używać? Oba kod i/lub wywołania, Delphi narzędzia są dopuszczalne, o ile:
- mogę go uruchomić na Windows bez ręcznej interwencji (muszę to dla moich testów, nie interwencja jest dozwolona)
- To szybka
- pliki generowane jest nieściśliwy (tj. wyniki kompresji generowanych plików w przestrzeni bez zapisywania)
EDIT Dla zainteresowanych mogę zastosować radę otrzymałem tutaj i made this function, to wystarczająco szybko & 7zip ma twardy czas ściskając wygenerowanych danych.
Opisz swój kod i dowiedz się, gdzie spędza najwięcej czasu. – japreiss
Prawdopodobnie lepiej jest użyć CryptoAPI wypełniającego bufor, który jest używany do zapisu do pliku. Istnieje pewien kod C - http://msdn.microsoft.com/en-us/library/aa382048.aspx, który jest dobrym punktem wyjścia. – Petesh
Jakiego rodzaju jest Buf? Jakiego rodzaju jest? Czy zakończenie powinno być "FileSize-1"? –