我正在處理日誌程序,該程序會將數據轉儲到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