我正在尝试解压缩gzip流。我正在使用StringBuilder从流中读取内容,并进行一些处理以将其转换为我想使用的格式。解压缩流后,字符串生成器对象的大小约为100MB。当尝试使用ToString方法将该String Builder转换为字符串时,出现内存不足异常。我在下面发布了我的代码片段。在这方面的任何帮助将不胜感激。
using (var gzip = new GZipStream(BlobStream, CompressionMode.Decompress, true))
{
using (var sr = new StreamReader(gzip))
{
//Return early if no need to do conversions
if (!asJson)
{
return await sr.ReadToEndAsync();
}
while((line = await sr.ReadLineAsync()) != null)
{
//internal processing happens here
sb.Append($"{line},");
}
}
}
sb.Replace(',', ']', sb.Length - 1, 1);
return sb.ToString();