我正在使用 Delphi XE 8 并尝试解压缩 gzip 文件。作为示例,我直接从 Embarcadero 网站复制了以下代码,但我收到“EZDecompressionError 和消息‘数据错误’。
procedure DecompressGzip(inFileName : string);
var
LInput, LOutput: TFileStream;
LUnZip: TZDecompressionStream;
begin
{ Create the Input, Output, and Decompressed streams. }
LInput := TFileStream.Create(InFileName, fmOpenRead);
LOutput := TFileStream.Create(ChangeFileExt(InFileName, 'txt'), fmCreate);
LUnZip := TZDecompressionStream.Create(LInput);
{ Decompress data. }
LOutput.CopyFrom(LUnZip, 0);
{ Free the streams. }
LUnZip.Free;
LInput.Free;
LOutput.Free;
end;
我尝试解压缩的示例文件位于此处: http: //ftp.nhc.noaa.gov/atcf/aid_public/