C#-StringBuilder-内存不足异常

时间:2018-07-02 18:53:59

标签: c# string gzip streamreader

我正在尝试解压缩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();

0 个答案:

没有答案