Der wahlfreie Zugriff auf einzelne Dateien ist bei tar nicht möglich. Deshalb muss das (Band-)Archiv immer wieder vom Anfang durchgespult werden, bis man bei der richtigen Datei angekommen ist.
Grob etwa so:
Delphi-Quellcode:
function ExtractFileFromTar(const Name, Zielpfad: String);
begin
tar.reset;
Found := False;
while not Found and tar.FindNext(DirRec) do
begin
if SameText(String(DirRec.Name),Name) then
Found := True;
end;
if Found then
tar.ReadFile(Zielpfad + Name);
end
Einige Feinheit müssen noch erledigt werden: Tar-Instanz erzeugen, Fehlerbehandlung, falls Pfade in dem tar-Archive vorkommen muss das berücksichtigt werden...