我有一个包含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/