Класс BinaryReader служит оболочкой, в которую заключается байтовый поток, управляющий вводом двоичных данных. Ниже приведен наиболее часто употребляемый конструктор этого класса:

BinaryReader(Streaminput)

гдеinputобозначает поток, из которого вводятся считываемые данные. Для чтения из входного файла в качестве параметраinputможет быть указан объект, создаваемый средствами классаFileStream.Если же поток, определяемый параметромinput, не был открыт для чтения данных или оказался недоступным по иным причинам, то генерируется исключениеArgumentException.По завершении ввода из потока типаBinaryReaderего нужно закрыть. При этом закрывается и базовый поток.

В классеBinaryReaderопределены методы, предназначенные для чтения данных всех встроенных в C# типов. Некоторые из этих методов перечислены в табл. 14.6. Следует, однако, иметь в виду, что в методеReadstring() считывается символьная строка, хранящаяся во внутреннем формате с указанием ее длины. Все методы данного класса генерируют исключениеIOException,если возникает ошибка ввода. Кроме того, могут быть сгенерированы и другие исключения.

Таблица 14.6. Наиболее часто используемые методы, определенные в классе BinaryReader

Метод

Описание

bool ReadBoolean ()

Считывает значение логического типа bool

byte ReadByteO

Считывает значение типа byte

sbyte ReadSByteO

Считывает значение типа sbyte

byte[] ReadBytes(intcount)

Считывает количество count байтов и возвращает их в виде массива

char ReadCharO

Считывает значение типа char

char[] ReadChars(intcount)

Считывает количество count символов и возвращает их в виде массива

decimal ReadDecimal()

Считывает значение типа decimal

double ReadDoubleO

Считывает значение типа double

float ReadSingleO

Считывает значение типа float

short Readlntl6()

Считывает значение типа short

int Readlnt32()

Считывает значение типа int

long Readlnt64()

Считывает значение типа long

ushort ReadUIntl6()

Считывает значение типа ushort

uint ReadUInt32()

Считывает значение типа uint

ulong ReadUInt64()

Считывает значение типа ulong

string ReadStringO

Считывает значение типа string, представленное во внутреннем двоичном формате с указанием длины строки. Этот метод следует использовать для считывания строки, которая была записана средствами класса BinaryWriter

В классеBinaryWriterопределены также три приведенных ниже варианта методаRead ().

При неудачном исходе операции чтения эти методы генерируют исключениеIOException.Кроме того, в классеBinaryReaderопределен стандартный метод

Close ().

Метод

Описание

int

Read()

Возвращает целочисленное представление следующего доступного символа из вызывающего потока ввода. При об

-

наружении конца файла возвращает значение -1

int

Read(byte []buffer,

Делает попытку прочитать количество count байтов в

int

offset,intcount)

массив buffer, начиная с элемента buffer[offset], и возвращает количество успешно считанных байтов

int

Read(char[]buffer,

Делает попытку прочитать количество count символов

int

offset,intcount)

в массив buffer, начиная с элемента buffer[offset], и возвоашает количество успешно считанных символов

Демонстрирование двоичного ввода-вывода

Перейти на страницу:

Похожие книги