Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
824 of 1492 menu
◀ ▶

Flush

Flush у BinaryWriter вызывает Flush у нижележащего Stream. Для int в MemoryStream байты уже видны сразу после Write; Flush не обязателен, чтобы увидеть их в буфере.

Синтаксис

writer.Flush();

Пример

Давайте прочитать байт до вызова Flush:

using System; using System.IO; using System.Text; class Program { static void Main() { MemoryStream ms = new MemoryStream(); BinaryWriter writer = new BinaryWriter( ms, Encoding.UTF8, leaveOpen: true); writer.Write(1); int res = ms.ToArray()[0]; Console.WriteLine(res); writer.Dispose(); ms.Dispose(); } }

Результат выполнения кода:

1

Пример

Давайте вызвать Flush и проверить длину:

using System; using System.IO; using System.Text; class Program { static void Main() { MemoryStream ms = new MemoryStream(); BinaryWriter writer = new BinaryWriter( ms, Encoding.UTF8, leaveOpen: true); writer.Write(1); writer.Flush(); long res = ms.Length; Console.WriteLine(res); writer.Dispose(); ms.Dispose(); } }

Результат выполнения кода:

4

Пример

Давайте прочитать число после Flush:

using System; using System.IO; using System.Text; class Program { static void Main() { MemoryStream ms = new MemoryStream(); BinaryWriter writer = new BinaryWriter( ms, Encoding.UTF8, leaveOpen: true); writer.Write(1); writer.Flush(); ms.Position = 0; BinaryReader reader = new BinaryReader( ms, Encoding.UTF8, leaveOpen: true); int res = reader.ReadInt32(); Console.WriteLine(res); reader.Dispose(); writer.Dispose(); ms.Dispose(); } }

Результат выполнения кода:

1

Смотрите также

  • Write,
    запись перед сбросом
  • ReadInt32,
    чтение после Flush
  • Stream,
    куда уходит Flush
  • MemoryStream,
    буфер в памяти
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить