我需要一个解决方案,它允许我创建压缩数据文件(gzip、zip、tar 等 - 任何格式都可以工作),然后自由地将数据附加到它们,而无需将整个文件加载到内存中并重新压缩它(寻求同时解压也会很棒)。有人对 .NET 有什么建议吗?
最佳答案
您基本上不能按照它所描述的方式执行此操作的原因是所有现代压缩算法都基于字典,这些字典在压缩器在输入上移动时以及在生成输出时都会维护(添加到删除)。
为了附加到压缩流(恢复压缩),您需要处于压缩暂停时状态的字典。压缩算法不会持久化字典,因为它会浪费空间——解压不需要它;它在解压阶段从压缩的输入中重新构建。
我可能会将输出分成单独压缩的块。
关于.net - 附加到压缩流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4046011/