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

Метод Flush

StreamWriter.Flush передаёт байты в Stream. Без вызова Length у MemoryStream может остаться 0. Автосброс включают через AutoFlush. Есть FlushAsync.

Синтаксис

writer.Flush();

Пример

Давайте сравним длину до и после Flush:

using System; using System.IO; using System.Text; class Program { static void Main() { var ms = new MemoryStream(); using (var writer = new StreamWriter( ms, new UTF8Encoding(false), 1024, leaveOpen: true)) { writer.Write("abcde"); long before = ms.Length; writer.Flush(); long after = ms.Length; Console.WriteLine(before); Console.WriteLine(after); } } }

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

0 5

Пример

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

using System; using System.IO; using System.Text; class Program { static void Main() { var ms = new MemoryStream(); using (var writer = new StreamWriter( ms, new UTF8Encoding(false), 1024, leaveOpen: true)) { writer.Write("abcde"); writer.Flush(); } ms.Position = 0; using var reader = new StreamReader(ms, Encoding.UTF8); string res = reader.ReadToEnd(); Console.WriteLine(res); } }

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

"abcde"

Пример

Давайте вызовем Flush после WriteLine:

using System; using System.IO; using System.Text; class Program { static void Main() { var ms = new MemoryStream(); using (var writer = new StreamWriter( ms, new UTF8Encoding(false), 1024, leaveOpen: true)) { writer.NewLine = "\n"; writer.WriteLine("12345"); writer.Flush(); } ms.Position = 0; using var reader = new StreamReader(ms, Encoding.UTF8); string res = reader.ReadLine() ?? ""; Console.WriteLine(res); } }

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

"12345"

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

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