Читаем C# 4.0: полное руководство полностью

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

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

Метод - Описание

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

byte ReadByte() - Считывает значение типа byte

sbyte ReadSByte() - Считывает значение типа sbyte

byte[] ReadBytes(int count) - Считывает количество count байтов и возвращает их в виде массива

char ReadChar() - Считывает значение типа char

char[] ReadChars(int count) - Считывает количество count символов и возвращает их в виде массива

decimal ReadDecimal() - Считывает значение типа decimal

double ReadDouble() - Считывает значение типа double

float ReadSingle() - Считывает значение типа float

short Readlnt16() - Считывает значение типа short

int Readlnt32() - Считывает значение типа int

long Readlnt64() - Считывает значение типа long

ushort ReadUIntl6() - Считывает значение типа ushort

uint ReadUInt32() - Считывает значение типа uint

ulong ReadUInt64() - Считывает значение типа ulong

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

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

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

Метод - Описание

int Read()  - Возвращает целочисленное представление следующего доступного символа из вызывающего потока ввода. При обнаружении конца файла возвращает значение -1

int Read(byte [] buffer,int offset, int count) - Делает попытку прочитать количество count байтов в массив buffer, начиная с элемента buffer[offset], и возвращает количество успешно считанных байтов

int Read(char[]buffer, int offset, int count) - Делает попытку прочитать количество count символов в массив buffer, начиная с элемента buffer[offset], и возвращает количество успешно считанных символов

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

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

// Записать двоичные данные, а затем считать их обратно.

using System;

using System.IO;

class RWData {

  static void Main() {

    BinaryWriter dataOut;

    BinaryReader dataIn;

    int i = 10;

    double d = 1023.56;

    bool b = true;

    string str = "Это тест";

    // Открыть файл для вывода,

    try {

      dataOut = new

        BinaryWriter(new FileStream("testdata", FileMode.Create));

    }

    catch(IOException exc) {

      Console.WriteLine("Ошибка открытия файла:" + exc.Message); return;

    }

    // Записать данные в файл,

    try {

      Console.WriteLine("Запись " + i);

      dataOut.Write(i);

      Console.WriteLine("Запись " + d);

      dataOut.Write(d);

      Console.WriteLine("Запись " + b);

      dataOut.Write(b);

      Console.WriteLine("Запись " + 12.2 * 7.4);

      dataOut.Write(12.2 * 7.4);

      Console.WriteLine("Запись " + str);

      dataOut.Write(str);

    }

    catch(IOException exc) {

      Console.WriteLine("Ошибка ввода-вывода:\n" + exc.Message);

    } finally {

      dataOut.Close();

    }

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

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

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных