Добавить в цитаты Настройки чтения

Страница 212 из 502

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

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], и возвращает количество успешно считанных символов

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

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

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

<b>using System; </b>

<b>using System.IO;</b>

<b>class RWData {</b>

<b>  static void Main() {</b>

<b>    BinaryWriter dataOut;</b>

<b>    BinaryReader dataIn;</b>

<b>    int i = 10;</b>

<b>    double d = 1023.56;</b>

<b>    bool b = true;</b>

<b>    string str = &quot;Это тест&quot;;</b>

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

<b>    try {</b>

<b>      dataOut = new</b>

<b>        BinaryWriter(new FileStream(&quot;testdata&quot;, FileMode.Create));</b>

<b>    }</b>

<b>    catch(IOException exc) {</b>

<b>      Console.WriteLine(&quot;Ошибка открытия файла:&quot; + exc.Message); return;</b>

<b>    }</b>

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

<b>    try {</b>

<b>      Console.WriteLine(&quot;Запись &quot; + i);</b>

<b>      dataOut.Write(i);</b>

<b>      Console.WriteLine(&quot;Запись &quot; + d);</b>

<b>      dataOut.Write(d);</b>

<b>      Console.WriteLine(&quot;Запись &quot; + b);</b>

<b>      dataOut.Write(b);</b>

<b>      Console.WriteLine(&quot;Запись &quot; + 12.2 * 7.4);</b>

<b>      dataOut.Write(12.2 * 7.4);</b>

<b>      Console.WriteLine(&quot;Запись &quot; + str);</b>

<b>      dataOut.Write(str);</b>

<b>    }</b>

<b>    catch(IOException exc) {</b>

<b>      Console.WriteLine(&quot;Ошибка ввода-вывода:n&quot; + exc.Message);</b>

<b>    } finally {</b>

<b>      dataOut.Close();</b>

<b>    }</b>

<b>    Console.WriteLine();</b>

<b>    //А теперь прочитать данные из файла,</b>

<b>    try {</b>

<b>      dataIn = new</b>

<b>           BinaryReader(new FileStream(&quot;testdata&quot;, FileMode.Open));</b>

<b>    }</b>

<b>    catch(IOException exc) {</b>

<b>      Console.WriteLine(&quot;Ошибка открытия файла:&quot; + exc.Message);</b>

<b>      return;</b>

<b>    }</b>

<b>    try {</b>

<b>      i = dataIn.ReadInt32();</b>

<b>      Console.WriteLine(&quot;Чтение &quot; + i);</b>

<b>      d = dataIn.ReadDouble();</b>

<b>      Console.WriteLine(&quot;Чтение &quot; + d); </b>

<b>      b = dataIn.ReadBoolean();</b>

<b>      Console.WriteLine(&quot;Чтение &quot; + b);</b>

<b>      d = dataIn.ReadDouble();</b>

<b>      Console.WriteLine(&quot;Чтение &quot; + d);</b>

<b>       str = dataIn.ReadString();</b>

<b>      Console.WriteLine(&quot;Чтение &quot; + str);</b>

<b>    }</b>

<b>    catch(IOException exc) {</b>

<b>      Console.WriteLine(&quot;Ошибка ввода-вывода:n&quot; + exc.Message);</b>

<b>    } finally {</b>

<b>      dataIn.Close();</b>

<b>    }</b>

<b>  }</b>

<b>}</b>

Вот к какому результату приводит выполнение этой программы.

<b>Запись 10 </b>

<b>Запись 1023.56 </b>