c# - 数据集写入文件

标签 c# .net dataset filestream

我有一个包含600K 记录DataSet
当我尝试将这些数据写入XML 文件时,我始终获取 OutOfMemoryException
以下是我目前写入数据的方式。

内存效率最高的方法是什么?

using (MemoryStream output = new MemoryStream())
{
    WorkingDataset.WriteXml(output, XmlWriteMode.WriteSchema);
    using (FileStream outputFile = File.Create(FilePath))
    {
         using (GZipStream compressedStream = new GZipStream(outputFile, CompressionMode.Compress))
         {
        compressedStream.Write(output.GetBuffer(), 0, (int)output.Length);
         }
        }
  }

最佳答案

你为什么要使用 MemoryStream?直接写入磁盘即可:

using (var fileStream = File.Create(FilePath))
{
    using (var zipStream = new GZipStream(outputFile, CompressionMode.Compress))
    {
        WorkingDataset.WriteXml(zipStream, XmlWriteMode.WriteSchema);
    }
}

关于c# - 数据集写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14871228/

相关文章:

c# - 我的上网IP是多少

python - 我们如何将整列的内容拆分为同一个表中的单独列?

database - 处理大型结构化数据集

c# - 打开SQL Server Management Studio exe

c# - DotNetCore 在 Windows 中捕获屏幕截图

c# - 具有 Goroutine 和 C# async/await 相同的效果

c# - 无法使用以下代码创建主磁贴

c# - 当我尝试快速观察变量时 VS 2012 调试器挂起

asp.net - 为什么 __VIEWSTATE 隐藏输入元素被 <div></div> 包围?

java - 将数据集 <row> 预测中的 vector 数据类型 "probability"列转换为数组?