阅读量:0
在C#中,可以使用MemoryMappedFile
类来实现缓冲区的内存映射。以下是一个简单的示例代码,演示如何创建一个内存映射文件,并将数据写入到内存映射文件中:
using System; using System.IO.MemoryMappedFiles; using System.IO; class Program { static void Main() { using (MemoryMappedFile mmf = MemoryMappedFile.CreateNew("test", 10000)) { using (MemoryMappedViewAccessor accessor = mmf.CreateViewAccessor()) { // 写入数据到内存映射文件 byte[] data = new byte[100]; for (int i = 0; i < data.Length; i++) { data[i] = (byte)i; } accessor.WriteArray(0, data, 0, data.Length); Console.WriteLine("数据写入完成"); // 读取数据 byte[] readData = new byte[100]; accessor.ReadArray(0, readData, 0, readData.Length); Console.WriteLine("读取的数据为:"); foreach (var b in readData) { Console.Write(b + " "); } } } } }
在示例代码中,首先创建了一个名称为“test”的内存映射文件,大小为10000字节。然后通过CreateViewAccessor
方法创建一个内存映射视图访问器,可以用来读写数据。接着将数据写入到内存映射文件中,并读取出来进行展示。
需要注意的是,在使用完内存映射文件之后,需要调用Dispose
方法释放资源。