Подтвердить что ты не робот

Как открыть файл в памяти?

Я рассматриваю этот термин под маркой, но я действительно не понимаю, как вы открываете файл в памяти.

У меня есть файлы, записанные на диск в временном расположении, но это нужно очистить, когда определенная форма закрывается, и я не могу сделать это, когда она откроется. Необходимо, чтобы эта папка была опустошена. Мне было интересно, если бы я открыл файлы в памяти вместо того, изменит ли это?

4b9b3361

Ответ 1

MemoryStream inMemoryCopy = new MemoryStream();
using (FileStream fs = File.OpenRead(path))
{
  fs.CopyTo(inMemoryCopy);
}
// Now you can delete the file at 'path' and still have an in memory copy

Ответ 3

Вы можете использовать DeleteOnClose параметр конструктора FileStream:

FileStream fs = new FileStream("<Path Here>", FileMode.Create,
    FileAccess.ReadWrite, FileShare.None, 1024, FileOptions.DeleteOnClose);

и файл будет удален при закрытии.

Ответ 4

Я думаю, что это означает, чтобы прочитать содержимое этого файла в памяти в целом, а затем закрыть соединение с файлом. Предполагая, что файл не слишком большой, вы можете просто прочитать его в байт []:

byte[] fileContent = File.ReadAllBytes(fileName);

Если это текстовый файл, прочитайте его в строке, используя

string fileContent = File.ReadAllText(fileName);

После того, как вы это сделали, используйте StreamReader, чтобы прочитать его позже, как файл на диске.