MongoDB使用内存映射文件的方式来实现对数据库文件的快速操作.在实际的工作中,也经常用到内存映射文件的方式来读取大文件.
内存映射文件是磁盘文件的全部或部分内容与虚拟地址空间的某个区域建立关联,可以对被映射的文件进行直接访问,而不必执行文件I/O操作也无需对文件内容进行缓存处理.
下面就是c#使用内存映射文件方式读取文件的代码.
[StructLayout(LayoutKind.Sequential)]
//系统信息结构
internal struct SYSTEM_INFO
{
public uint dwOemId;
public uint dwPageSize;
public uint lpMinimumApplicationAddress;
public uint lpMaximumApplicationAddress;
public uint dwActiveProcessorMask;
public uint dwNumberOfProcessors;
public uint dwProcessorType;
public uint dwAllocationGranularity;
public uint dwProcessorLevel;
public uint dwProcessorRevision;
}
private const uint GENERIC_READ = 0x80000000;
private const uint GENERIC_WRITE = 0x40000000;
private const int OPEN_EXISTING =