我正在处理日志程序,该程序会将数据转储到gzip归档文件中。将文本追加到现有Gzip文件
的第一个条目是这样的:
using (var fs = File.OpenWrite(logFile))
{
using (var gs = new GZipStream(fs, CompressionMode.Compress))
{
using (var sw = new StreamWriter(gs))
{
sw.WriteLine(logEntry);
}
}
}
现在我想添加其他线路到该文件,而无需重新读取所有的文件内容,并比它的方式,结果重新写可以用一个GZipStream读取。
这样做的最好方法是什么?
如果您想要将某些内容附加到gzip/deflate流中,则必须在每次结束时执行“部分刷新”或“全部刷新”。参见[Zlib冲洗模式](http://www.bolet.org/~pornin/deflate-flush.html)。 GZipStream类不支持这些刷新模式。解决方案:不要追加或不使用GZipStream类。 – dtb 2013-02-23 18:16:39
你建议使用什么库? – 2013-02-23 18:18:47