【问题标题】:JEDI JCL Compress in memory/direct to disk?JEDI JCL 在内存中压缩/直接到磁盘?
【发布时间】:2016-12-06 16:04:37
【问题描述】:

我已经使用TZIPForge 很长时间了。现在我想更改为 JEDI JCL Compress。

使用TZIPForge,我可以决定是在内存中完全压缩还是在压缩时直接写入磁盘。

JEDI JCL 似乎在内存中完全压缩,这可能会导致非常大的文件出现问题。怎么可能直接写入磁盘呢?

【问题讨论】:

  • 你没有给我们任何代码,你问了两个问题。选择一个问题。单独问。包括一个小的minimal reproducible example 来说明你的观点。
  • 没有任何代码,所以我不能给出任何代码。所以问题1对我来说更重要。我不需要完整的代码示例或类似的东西。我只是想知道如何直接写入磁盘(如果可以使用 JCL)。
  • 怎么可能没有代码呢?您可以在没有任何代码的情况下压缩文件吗?怎么样?
  • 你误会了我。我在上面编辑了我的问题。
  • 基本上,这属于“为我选择图书馆”类型的问题,这些问题似乎不适合简​​短精确答案的 SO 格式。请参阅常见问题解答。 “要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于 Stack Overflow 来说是题外话......”

标签: delphi stream zip jedi jedi-code-library


【解决方案1】:

今天的 AFAIR Jedi CodeLib 是 7-zip DLL API ( www.7-zip.org ) 的包装器,因此如果您只需要创建简化的老式 ZIP(例如 Java JAR 或 Office OpenDocument 或OpenXML 文件)。

确实,压缩发生时是有区别的——一些库在给定数据时会立即压缩每个特定文件。然后提交存档只是写入 zip 的最终目录。一些库虽然将所有未压缩的内容保留在内存中,并且仅在提交时对其进行压缩。

https://github.com/Avemey/zexmlss/tree/master/zexmlss/src检查 ZeZippy*.pas 文件

这是实现使用不同引擎创建 ODS/XLSX zip。支持 XE2 RTL 和 ZipMaster 和 Jedi CodeLib 接口,您只需匹配它们的微实现即可查看差异。

附言。 AFAIR 我还想添加 Windows XP 实现,但似乎偏离了它:​​-) https://github.com/the-Arioch/avemey.com/blob/master/zexmlss/src/zeZippyXP.txt

【讨论】:

  • 从未听说过此代码。它也可以制作zip文件吗?
  • 创建 zip 文件是 ZeZippy 文件唯一能做的事情。 Quote: 这是实现ODS/XLSX zip的创建。但是,它们被创建以适应预先存在的库,该库用于将临时文件写入磁盘,然后将它们从磁盘压缩到 zip 文件。因此,它统一了特定的预先存在的工作流程,这些工作流程很容易看起来不适合您的特定需求。仅将其视为参考点。
  • 不确定我是否可以使用这个库。我刚刚安装了它,但这似乎与“压缩库”完全不同。这也很奇怪,我没有看到任何压缩功能avemey.com/zexmlss/delphizip.php?lang=en
  • 看,我没有告诉你使用整个库。我建议您查看它的非常小的实用程序子集。引用: ZeZippy*.* 。我只建议您阅读这些资源,作为对几个 zip 库的快速参考。阅读和学习,然后选择使用哪一个。
猜你喜欢
  • 1970-01-01
  • 2013-08-20
  • 2011-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多