在这段 C# 代码中,我遇到了 OutOfMemoryException 的问题。
private void SaveZip(IDataReader reader, string header, string fileName, Ionic.Zip.ZipFile zip)
{
using (var stream = new MemoryStream())
{
using (var writer = new StreamWriter(stream, Encoding.ASCII))
{
writer.WriteLine(header);
while (reader.Read())
{
writer.WriteLine(reader.GetString(0)); //exception occurs here
}
writer.Close();
}
zip.AddEntry(fileName, stream.ToArray());
}
}
该代码尝试将 DataReader 对象写入一个文件,该文件在过程结束时被压缩。问题是 Reader 包含大量数据,大约 150MB,当我尝试将流写入内存时,它引发了异常。我该如何解决这个问题?
感谢帮助!