我需要一种将GZipStream写入字符串的方法。

我在用:

GZipStream Decompress = new GZipStream(inFile, CompressionMode.Decompress)

我尝试了几种方法,但无法弄清楚。
有人有什么想法吗?

非常感谢,
布雷特

最佳答案

您有一个解压缩的 GZipStream ,因此您需要从中读取数据。最简单的方法是用 GZipStream 包裹StreamReader,而 ReadToEnd 具有返回字符串的ojit_a方法。

就像是:

string res;
using (var decompress = new GZipStream(inFile, CompressionMode.Decompress))
using (var sr = new StreamReader(decompress)) {
  res = sr.ReadToEnd();
}

(using语句可确保关闭inFile并释放任何其他资源。)

注意,这确实假定inFile包含文本编码的UTF-8或UTF-16。二进制内容或其他文本编码可能会导致问题(您可以使用其他StreamReader构造函数覆盖该编码)。

10-06 00:01