版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
一、System.IO.MemoryMappedFiles 命名空间
System.IO.MemoryMappedFiles 命名空间提供用于使用内存映射文件的类,该文件将文件内容映射到应用程序的逻辑地址空间。
MemoryMappedFile:表示内存映射文件。
MemoryMappedViewAccessor:表示随机访问的内存映射文件视图。
二、MemoryMappedFile 类
表示内存映射文件,它将文件的内容映射到应用程序的逻辑地址空间。
1、CreateNew 方法
在系统内存中创建一个具有指定容量的内存映射文件。使用此方法创建一个不持久保留的内存映射文件 (即,不与关联磁盘上的文件),可以用于进程之间共享数据。
Public Shared Function CreateNew ( _
mapName As String, _
capacity As Long _
) As MemoryMappedFile
参数说明:
- mapName:要分配给内存映射文件的名称。
- capacity:要分配给内存映射文件的最大大小(以字节为单位)。
返回值:
具有指定名称和容量的内存映射文件。
2、CreateOrOpen方法
在系统内存中创建或打开一个具有指定容量的内存映射文件。
Public Shared Function CreateOrOpen ( _
mapName As String, _
capacity As Long _
) As MemoryMappedFile
参数说明:
- mapName:要分配给内存映射文件的名称。
- capacity:要分配给内存映射文件的最大大小(以字节为单位)。
返回值:
具有指定名称和容量的内存映射文件。
3、OpenExisting方法
在系统内存中打开一个具有指定名称的现有内存映射文件。
Public Shared Function OpenExisting ( _
mapName As String _
) As MemoryMappedFile
参数说明:
- mapName :要打开的内存映射文件的名称。
返回值:
具有指定名称的内存映射文件。
4、CreateViewAccessor方法
创建映射到内存映射文件视图的访问器。
三、MemoryMappedViewAccessor 类
表示随机访问的内存映射文件视图。主要使用来写入和读取存入文件视图的数据。
1、Write~方法
向访问器写入一个相应的值,第一个参数是要写入的位置,第二个参数可以是布尔值、字节值、字符等。
2、WriteArray(of T)方法
将结构从 T 类型的数组写入访问器。
Public Sub WriteArray(Of T As Structure) ( _
position As Long, _
array As T(), _
offset As Integer, _
count As Integer _
)
参数说明:
- position:访问器中起始写入位置的字节偏移量。
- array:要写入访问器的数组。
- offset:在 array 中从其开始写入的索引。
- count:要写入的 array 中的结构数。
3、Read~方法
从访问器读取一个相应的值,可以是布尔值、字节值、字符等。
4、ReadArray(Of T) 方法
将 T 类型的结构从访问器读取到 T 类型的数组中。
Public Function ReadArray(Of T As Structure) ( _
position As Long, _
array As T(), _
offset As Integer, _
count As Integer _
) As Integer
参数说明:
- position:访问器中的字节偏移量,从此处开始读取。
- array:包含从访问器读取的结构的数组。
- offset:array 中要将第一个复制的结构放置到的索引。
- count:要从访问器读取的 T 类型的结构的数目。
返回值:
读入array的结构数。 如果可用结构较少,则此值可能小于count;如果到达访问器末尾,则为零。
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。
学习更多vb.net知识,请参看vb.net 教程 目录