【发布时间】:2011-11-25 09:51:36
【问题描述】:
我正在尝试使用从数据库中检索到的数据创建一个制表符分隔的文件。使用 MemoryStream 创建 StreamWriter 并写入它的方法似乎工作正常——“while(rdr.Read())”循环执行了大约 40 次。但是当我谈到将 MemoryStream 转换为 FileStream 的方法时,生成的制表符分隔文件仅显示 34 行,第 34 行甚至不完整。有些东西限制了输出。也不要发现数据本身有什么问题会导致它突然终止。
转换方法如下:
protected internal static void ConvertMemoryStreamToFileStream(MemoryStream ms, String newFilePath){
using (FileStream fs = File.OpenWrite(newFilePath)){
const int blockSize = 1024;
var buffer = new byte[blockSize];
int numBytes;
ms.Seek(0, SeekOrigin.Begin);
while ((numBytes = ms.Read(buffer, 0, blockSize)) > 0){
fs.Write(buffer, 0, numBytes);
}
}
}
感谢您的任何帮助,谢谢。
【问题讨论】:
标签: c# .net asp.net-mvc-3 filestream memorystream