我需要一种将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
构造函数覆盖该编码)。