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

Метод Write

StreamWriter.Write добавляет символы в буфер писателя. До Flush байты могут не попасть в MemoryStream. Строку с переводом даёт WriteLine. Есть перегрузки и WriteAsync.

Синтаксис

writer.Write("text"); writer.Write(value); writer.Write(buffer, index, count);

Пример

Давайте запишем "abcde" и сбросим буфер:

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"

Пример

Давайте допишем "12345" двумя вызовами:

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.Write("12345"); writer.Flush(); } ms.Position = 0; using var reader = new StreamReader(ms, Encoding.UTF8); string res = reader.ReadToEnd(); Console.WriteLine(res); } }

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

"abcde12345"

Пример

Давайте проверим длину потока до 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 res = ms.Length; Console.WriteLine(res); } } }

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

0

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

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