Czy jest możliwe otwieranie pliku z mapami pamięci w języku C# bezpośrednio, podobnie jak otwieranie plików bezpośrednio w oknach, powiedzmy, na przykład, tworzę plik mapowany w pamięci. poprzez następujący kod.Obsługa mapowania pamięci w C# bezpośrednio z pamięci
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();
}
}
}
Potrzebuję otworzyć plik bezpośrednio. Czy to możliwe, jak otwarcie pliku poprzez
Process.start("test.txt");
od innego procesu zamiast wartości czytanie kodu.
MemoryMappedFile mmf1 = MemoryMappedFile.OpenExisting("test.txt");
MemoryMappedViewAccessor accessor1 = mmf1.CreateViewAccessor();
var value = accessor1.ReadByte(4);
Czy możliwe jest bezpośrednie otwarcie pliku mapowanego w pamięci? Proszę daj mi znać.
Dlaczego używasz pliku mapowanego w pamięci, aby wykonywać na nim proste operacje na plikach? – leppie
choć prosta operacja na plikach, ale trudno uzyskać bezpośredni dostęp do pamięci, prawda? –
Nigdzie w kodzie nie uzyskujesz dostępu do treści takich, jak twoje, czytasz pamięć. – leppie