アーカイブ ファイル内のファイルを操作する必要がありますか。(読み書き)。次のコードで、必要なファイルのリストを取得します。
Zip := TZipFile.Create;
try
Zip.Open(FilePath, TZipMode.zmRead);
For File_Name in Zip.FileNames do
begin
//some code
end;
finally
Zip.Close;
FreeAndNil(Zip);
end;
TZipFile.Readメソッドを使用して、.zip アーカイブからファイルを読み取りました。
このメソッドは、ファイルの内容全体を TByte 型のバッファに返します。ただし、完全なファイルではなく、最初から 1MB のファイルを読み取る必要があります。
1MB のファイルを読み取って分析した後、必要に応じて、完全なファイルを読み取ってファイルに変更を加え、ファイルをアーカイブに再保存する必要があります。
プログラムのメモリと速度は非常に重要です。以前は SetLength 関数のバッファ サイズを設定していましたが、残念ながらファイル ファイルの完全な内容がバッファに格納されています。
どう思いますか?