Delphi 绝地JCL在内存中压缩/直接到磁盘?

Delphi 绝地JCL在内存中压缩/直接到磁盘?,delphi,stream,zip,jedi,jedi-code-library,Delphi,Stream,Zip,Jedi,Jedi Code Library,我已经用了很久了。现在我想换成绝地JCL压缩 通过tzipferge我可以决定它是在内存中完全压缩,还是在压缩时直接写入磁盘 绝地JCL似乎在内存中完全压缩,这可能会导致非常大的文件出现问题。如何可以直接写入磁盘呢 AFAIR Jedi CodeLib如今是7-zip DLL API(www.7-zip.org)的包装器,因此,如果您只需要创建简化的老式zip(如Java JAR或Office OpenDocument或OpenXML文件),就有点过头了 事实上,当压缩发生时,有一个区别——一些

我已经用了很久了。现在我想换成绝地JCL压缩

通过
tzipferge
我可以决定它是在内存中完全压缩,还是在压缩时直接写入磁盘


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

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

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

检查位于的ZeZippy*.pas文件

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

PS.AFAIR我也想添加Windows XP实现,但似乎被转移了注意力:-)

您没有给我们提供任何代码可供使用,并且您提出了两个问题。挑一个问题。单独问吧。包括一个小的说明你的观点。没有任何代码,所以我不能给出任何。所以问题1对我来说更重要。我不需要完整的代码示例或类似的东西。我只是想知道如何直接写入磁盘(如果可能的话使用JCL)。怎么可能没有代码?您可以不使用任何代码压缩文件吗?怎么会?你误解我了。我在上面编辑了我的问题。基本上,这属于“选择我一个图书馆”类型的问题,似乎不适合如此简短精确的答案。参见常见问题。“要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题与堆栈溢出无关……”从未听说过此代码。它还能生成zip文件吗?创建zip文件是这些ZeZippy文件唯一能做的事情。这是实现ODS/XLSX拉链的创建。但是,它们是为了适应预先存在的库而创建的,该库用于将临时文件写入磁盘,然后将它们从磁盘压缩到zip文件。因此,它统一了特定的预先存在的工作流,这些工作流很容易看起来不适合您的特定需求。把它仅仅当作参考点,不确定我是否可以使用这个库。我刚刚安装了它,但这似乎与“压缩库”完全不同。这也很奇怪,我没有看到任何压缩函数。看,我没有告诉你使用整个库。我建议您查看它的非常小的实用程序子集。报价:ZeZippy*。我只是建议您阅读这些源代码,作为对几个zip库的快速参考。阅读和学习,然后选择使用哪一个。