È possibile aprire il file di memoria mappato in C# direttamente come l'apertura di file direttamente in Windows, ad esempio, , sto creando un file mappato in memoria. attraverso il seguente codice.Gestione file di memoria mappato in C# direttamente dalla memoria
using System;
using System.IO.MemoryMappedFiles;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
MemoryMappedFile mmf = MemoryMappedFile.CreateNew("test.txt", 5);
MemoryMappedViewAccessor accessor = mmf.CreateViewAccessor();
var arun = new[] {(byte)'a', (byte)'r', (byte)'u', (byte)'n'};
for (int i = 0; i < arun.Length; i++)
accessor.Write(i, arun[i]);
Console.WriteLine("Memory-mapped file created!");
Console.ReadLine(); // pause till enter key is pressed
accessor.Dispose();
mmf.Dispose();
}
}
}
Ho bisogno di aprire il file direttamente. E 'possibile, come file di apertura attraverso
Process.start("test.txt");
da un altro processo, invece di valori di lettura dal codice.
MemoryMappedFile mmf1 = MemoryMappedFile.OpenExisting("test.txt");
MemoryMappedViewAccessor accessor1 = mmf1.CreateViewAccessor();
var value = accessor1.ReadByte(4);
Se è possibile aprire direttamente il file di memoria mappato? Per favore mi faccia sapere.
Perché si sta utilizzando un file mappato in memoria solo per eseguire semplici operazioni sui file? – leppie
sebbene sia un'operazione di file semplice ma difficile da accedere direttamente dalla memoria, vero? –
In nessun punto del tuo codice stai accedendo al contenuto come se tu leggessi memoria. – leppie