为什么 winrar 在添加文件时会复制整个文件

为什么 winrar 在添加文件时会复制整个文件

我刚刚注意到,winrar 实际上并没有将文件添加到存档中,而是复制了当前存档,然后将文件添加到其他所有内容之上……就我个人而言,仅仅为了向其中添加一些内容而重写整个文件是完全没有意义的

处理 87,668,719,616 字节的档案时就更没有意义了

有没有办法解决这个问题。我只有 28,388,671,488 字节可用,所以你可以看到我的困境...我创建了一个档案以节省一些空间,现在我发现我需要两倍的档案容量来更新它......

这些归档程序的另一个缺陷是“归档后删除文件”选项...在处理多个文件时,该选项几乎毫无用处...如果它们有“处理后删除每个文件”选项,那就有用多了

但就目前情况而言,甚至 7zip 也没有该选项 -.-'

答案1

这样做的原因是 WinRar 默认以所谓的“固实存档”的方式工作,即将要压缩的文件排序并压缩为单个流,以便查找重复数据跨文件而不是简单地在单个文件中

为了压缩固定档案中的任何新文件,首先需要处理整个档案,以便构建用于压缩文件的压缩字典,并将新文件插入数据流。这意味着有效地解压缩和重新压缩档案。

如果您不希望出现这种情况,则需要禁用“固定存档”选项,该选项将单独压缩文件,并允许文件简单地被压缩并附加到存档的末尾。这有一个缺点,即不搜索输入文件之间重复的可压缩数据,因此会增加存档大小,特别是如果您有完全重复的文件。

您基本上有一个选择:添加新文件时的压缩速度或获得最佳的压缩比。

相关内容