Einzelnen Beitrag anzeigen

philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
891 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: gz-Datei: Decompress liefert nicht alle Zeilen

  Alt 29. Jan 2022, 08:36
Hier der Umweg über einen String: Der String und auch schon LUnZip.Size sind zu kurz:

Delphi-Quellcode:
var
   LInput:TFileStream;
   LUnZip:TZDecompressionStream;
   strOutput: TStringStream;
   Splitted: TArray<String>;
   i:integer;
begin
   Result:=TStringList.Create(true);
   LInput:=TFileStream.Create(filename,fmOpenRead + fmShareDenyNone);
   LUnZip:=TZDecompressionStream.Create(LInput,15+32);
   strOutput:= TStringStream.Create;
   strOutput.CopyFrom(LUnZip, LUnZip.Size);
   i:=length(strOutput.DataString);
   Splitted := strOutput.DataString.Split([#10]);
   strOutput.free();
   for i:=0 to length(splitted)-1 do
     result.add(splitted[i]);
   LUnZip.Free;
   LInput.Free;
end;

Geändert von philipp.hofmann (29. Jan 2022 um 10:05 Uhr)
  Mit Zitat antworten Zitat