最有效的压缩文件夹的算法

时间:2011-02-22 00:51:37

标签: algorithm compression

我有一个文件夹,希望尽可能高效地无损压缩文件。

这些文件彼此非常相似,因为主要有效负载完全相同,但可变大小的页眉和页脚可能在文件之间有很大差异。

我需要能够非常快速地访问任何文件以及非常快速地添加其他文件(不必解压缩整个文件夹只是为了再次重新压缩文件)。从文件夹中删除并不常见。

算法建议很好,但我更愿意只使用一些现有的库/程序来完成这项任务。

3 个答案:

答案 0 :(得分:3)

在这种情况下,由于您具有文件的特定知识,因此自定义解决方案最有效。仅存储静态主有效负载一次,然后分别存储页眉和页脚。例如,假设您有3个文件:

1.dat
2.dat
3.dat

将它们存储在压缩文件中:

payload.dat
1.header.dat
1.footer.dat
2.header.dat
2.footer.dat
3.header.dat
3.footer.dat

就添加文件而言,Zip和7zip支持将新文件添加到现有存档中,因此您可以使用其中任何一个,只需根据需要附加新文件。我个人会推荐7zip,因为我发现在大多数情况下它提供了更好的压缩率,但它根据确切的内容而变化很大。

答案 1 :(得分:1)

有时回来它是 7zip ,不确定是否有新内容。

答案 2 :(得分:0)

使用这种冗余数据,大多数标准压缩软件应该产生非常令人满意的结果。请勿使用标准的Windows .zip生成器,因为它会单独压缩每个文件。不过,7zip或Gzip对此非常有用。