小编Geo*_*-it的帖子

MemoryMappedFiles无法找到路径的一部分

我有一些方法可以使用MemoryMappedFiles来编写/读取数据.如果我使用简单的字符串作为文件名,它们可以正常工作,例如"file.mmf".但是,如果我使用完整目录路径,则抛出上述异常 - Exception has been thrown by the target of an invocation. 内部异常 - {"Could not find a part of the path."}.以下是我的方法的样子:

public void WriteToFile(string fileName, string value)
{
    string newFileName = CombineDirectory(fileName);
    byte[] newValue = Encoding.UTF8.GetBytes(value);
    long capacity = newValue.Length + INT_MAXVALUE_TO_BYTEARRAY_LENGTH;

    using (var mmf = MemoryMappedFile.CreateFromFile(newFileName, FileMode.Create, newFileName, capacity))
    {
        using (var accesor = mmf.CreateViewAccessor())
        {
            byte[] newValueLength = BitConverter.GetBytes(value.Length);
            accesor.WriteArray(0, newValueLength, 0, newValueLength.Length);
            accesor.WriteArray(INT_MAXVALUE_TO_BYTEARRAY_LENGTH, newValue, 0, newValue.Length);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的路径看起来像这样:

"C:\\Users\\MyUser\\Documents\\Visual Studio 2012.mmf"
Run Code Online (Sandbox Code Playgroud)

我正在使用

Path.Combine …
Run Code Online (Sandbox Code Playgroud)

c# directory file memory-mapped-files

3
推荐指数
1
解决办法
1296
查看次数

标签 统计

c# ×1

directory ×1

file ×1

memory-mapped-files ×1