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

BinaryReader

BinaryReader оборачивает MemoryStream или другой Stream и читает int через ReadInt32, строки через ReadString и байты через ReadBytes. Перед чтением сбрасывают Position после записи BinaryWriter.

Синтаксис

BinaryReader reader = new BinaryReader( stream, Encoding.UTF8, leaveOpen: true);

Пример

Давайте прочитаем int после записи:

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); 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

Пример

Давайте прочитаем строку "abcde":

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("abcde"); ms.Position = 0; BinaryReader reader = new BinaryReader( ms, Encoding.UTF8, leaveOpen: true); string res = reader.ReadString(); Console.WriteLine(res); reader.Dispose(); writer.Dispose(); ms.Dispose(); } }

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

"abcde"

Пример

Давайте прочитаем bool:

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(true); ms.Position = 0; BinaryReader reader = new BinaryReader( ms, Encoding.UTF8, leaveOpen: true); bool res = reader.ReadBoolean(); Console.WriteLine(res); reader.Dispose(); writer.Dispose(); ms.Dispose(); } }

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

True

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

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