14.4. Двоичный ввод-вывод
Двоичные (бинарные) потоки представляет собой осмысленную последовательность произвольных байтов. Байты в двоичном потоке расположены блоками. Например, целое число типа int занимает 4 последовательных байтов, т.е. блок из 4 байт.
Двоичные потоки противопоставляются текстовым. На самом деле, текстовые потоки являются частным случаем двоичных потоков, а под определение «двоичный поток» подходит любой поток. Однако собственно двоичными называют те потоки, которые не являются текстовыми.
Двоичные потоки состоят из осмысленных цепочек байтов (блоков). Соответственно и обрабатывать двоичные потоки нужно не по отдельным байтам, а блоками. Побайтовый же доступ к блокам крайне неудобен и чреват ошибками.
Для работы с нетекстовыми потоками используются классы двоичного ввода-вывода BinaryWriter и BinaryReader. Эти класс оборачивают низкоуровневые классы потоков, упрощая работу с бинарными блоками данных, состоящими из стандартных типов. Приведем краткий список основных методов классов BinaryReader и BinaryWriter.
Класс BinaryReader используемся для двоичного ввода:
Класс BinaryWriter используемся для двоичного вывода:
Flush()
|
Записывает все данные из буфера в соответствующий источник данных. Освобождает буфер
|
Write()
|
Записывает данные в файл. У метода несколько перегрузок, которые позволяют выводить все стандартные типы данных
|
WriteLine()
|
Аналогичен Write() только помимо выводимой строки вставляет еще и символы новой строки
|
|
Do'stlaringiz bilan baham: |