.net - 附加到压缩流

标签 .net compression

我需要一个解决方案,它允许我创建压缩数据文件(gzip、zip、tar 等 - 任何格式都可以工作),然后自由地将数据附加到它们,而无需将整个文件加载到内存中并重新压缩它(寻求同时解压也会很棒)。有人对 .NET 有什么建议吗?

最佳答案

您基本上不能按照它所描述的方式执行此操作的原因是所有现代压缩算法都基于字典,这些字典在压缩器在输入上移动时以及在生成输出时都会维护(添加到删除)。

为了附加到压缩流(恢复压缩),您需要处于压缩暂停时状态的字典。压缩算法不会持久化字典,因为它会浪费空间——解压不需要它;它在解压阶段从压缩的输入中重新构建。

我可能会将输出分成单独压缩的块。

关于.net - 附加到压缩流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4046011/

相关文章:

python - (python) 我是否在 tar.gz 文件上使用 os.path.join

c# - 在 DataGridView 上移动行时的可视标记

c# - 将固定长度文件中的数据读入类对象

c# - 无法创建类型为 'Anonymous type' 的常量值

javascript - 测试压缩 JavaScript 代码的性能增益

Gzip 的 JavaScript 实现

.NET 枚举大小?

c# - 在 datetimepicker winform c# 中禁用一些日期

c# - 链式 GZipStream/DeflateStream 和 CryptoStream (AES) 在读取时中断

通过删除前导零来压缩字符大小整数