我真的希望有人可以帮助我.
我必须将近400,000条记录从数据库传递到文本文件由于这个数量,文本文件的扩展名只是我编写的内容...(.you_name_it)我在+/-将数据写入文件时出错9000条记录.错误=抛出类型'System.OutOfMemoryException'的异常并且我不知道解决方案:(
这是我用于将记录写入文件的代码的和平.
this.path_to_file =
ConfigurationManager.AppSettings["ExportDir"] +
DateTime.Now.ToString(ConfigurationManager.AppSettings
["Export_FileName"]) + ConfigurationManager.AppSettings
["Export_Extension"];
FileStream fm = new FileStream
(this.path_to_file, FileMode.Create, FileAccess.ReadWrite,
FileShare.ReadWrite);
StreamWriter sw = new StreamWriter(fm, Encoding.Default);
List<Export> exportRecords = null;
exportRecords = ExportList();
try
{
int i = 0;
foreach (Export ex in exportRecords)
{
sw.Write(ex.ExportLine());
sw.Write(sw.NewLine);
sw.Flush();
exportlines += ex.ExportLine() + "\n";
i++;
}
}
catch (Exception exc)
{
Log.Write(exc.Message);
}
Run Code Online (Sandbox Code Playgroud)
为什么代码中有这一行?
exportlines += ex.ExportLine() + "\n"
Run Code Online (Sandbox Code Playgroud)
假设它是一个字符串变量,它会增长,增长和增长......并消耗内存.
| 归档时间: |
|
| 查看次数: |
2541 次 |
| 最近记录: |