【发布时间】:2016-05-17 01:53:40
【问题描述】:
谁能给我一个提示:如何处理更大的数据:
using (MemoryStream ms = new MemoryStream())
{
ser.Serialize(ms, files);
filesBytes = ms.ToArray();
}
files 是一个自定义类型的数组,其中包含有关文件的信息
ser 是二进制格式化程序
这些对象应该被序列化
public class FileEntry
{
public string FileName { get; set; }
public string RelativePath { get; set; }
public byte[] Content { get; set; }
}
【问题讨论】:
-
你到底是什么意思?
-
当我尝试运行此代码时,发生内存不足异常
-
您写入流的数据有多大?您使用的是 32 位还是 64 位进程?
-
你能显示被序列化的类型吗?你打算怎么处理那些
filesBytes -
MemoryStream 对于大文件是“安全的”。但是,您会将整个文件加载到内存中,并且它将一直保留在那里,直到垃圾收集确定是回收该内存的好时机。更多msdn.microsoft.com/en-us/library/ms733742(v=vs.110).aspx
标签: c# binary memorystream