Метод Write
Stream.Write(buffer, offset, count)
добавляет байты в поток. У FileStream
запись может задерживаться в буфере, пока
не вызовут
Flush;
у MemoryStream данные сразу в
буфере памяти. Чтение -
Read.
Есть WriteAsync.
Синтаксис
stream.Write(buffer, offset, count);
Пример
Давайте запишем пять байт и проверим
Length:
using System;
using System.IO;
class Program
{
static void Main()
{
using var ms = new MemoryStream();
ms.Write([1, 2, 3, 4, 5], 0, 5);
long res = ms.Length;
Console.WriteLine(res);
}
}
Результат выполнения кода:
5
Пример
Давайте запишем два блока подряд:
using System;
using System.IO;
class Program
{
static void Main()
{
using var ms = new MemoryStream();
ms.Write([1, 2, 3], 0, 3);
ms.Write([4, 5], 0, 2);
long res = ms.Length;
Console.WriteLine(res);
}
}
Результат выполнения кода:
5
Пример
Давайте прочитаем первый записанный байт:
using System;
using System.IO;
class Program
{
static void Main()
{
using var ms = new MemoryStream();
ms.Write([1, 2, 3, 4, 5], 0, 5);
ms.Position = 0;
byte[] buf = new byte[1];
ms.Read(buf, 0, 1);
int res = buf[0];
Console.WriteLine(res);
}
}
Результат выполнения кода:
1