Ein kleines Beispiel:
Delphi-Quellcode:
procedure ReplaceFile(FileName: String)
var
fs: TFileStream;
mem: TmemoryStream;
i: Integer;
begin
mem := TMemoryStream.Create();
fs := TFileStream.Create(FileName, fmOpenReadWrite or fmShareExclusive);
try
mem.CopyFrom(fs, 0);
// Mach etwas mit memstream
fs.CopyFrom(mem, 0);
finally
fs.Free;
mem.Free;
end;
end;
(Bin mir nicht sicher, ,ob das kompiliert, aber so könnte eine Pufferung aussehen. In diesem Fall wird die ganze Datei geladen. Das geht solange gut, wie die Datei wesentlich kleiner als der
RAM ist.)