gpt4 book ai didi

c++ - 如何解决 System.Zip.TZipFile.ExtractAll 未从 .zip 文件中提取所有数据的问题?

转载 作者:太空宇宙 更新时间:2023-11-04 13:01:39 25 4
gpt4 key购买 nike

我正在使用 Embarcadero C++Builder 10.1 Berlin Update 2。我正在使用 System.Zip.TZipFile.ExtractAll() 来提取一个大的 .zip文件。

以下是有关问题场景的详细信息:

  • .zip 文件的大小为 387,077 KB
  • 使用 System.Zip.TZipFile.ExtractAll() 提取 .zip 文件,我们最终得到:
    • 一个 4,194,304 KB 大小的文件。
    • 数据被截断。
  • 使用 Windows 操作系统,右键单击 Extract All...,我们最终得到
    • 一个 6,035,259 KB 大小的文件。

我们需要此文件中的所有数据。

阅读System.Zip.TZipFile文档,我没有看到任何与文件大小相关的限制。

据我所知,这是 Embarcadero 提供的提取 .zip 文件的方法。我该如何解决这个问题?

最佳答案

除非您告诉我们数据只是被截断了还是以某种方式进行了转换,否则我们只能真正猜测发生了什么。然而,这是一个有根据的猜测。

您的输出正好是 232 字节长,这是许多旧技术的熟悉边界。

事实上(正如您所指出的)文档没有说明这个限制,进一步表明这只是开发人员费心支持的上限,可能是很久以前的事了。他们从未想过您会需要比这更多的东西,尤其是直到 [相对] 最近,许多文件系统甚至不支持比这更大的文件。

更喜欢现代、标准的 C++ 和一个很好的第三方库来解压缩。

关于c++ - 如何解决 System.Zip.TZipFile.ExtractAll 未从 .zip 文件中提取所有数据的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43940979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com