数据集写入文件

ABC*_*BCD 3 .net c# dataset filestream

我有一个DataSet600K records.
当我尝试将这些数据写入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);
         }
        }
  }
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 5

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

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