Чтение онлайн

на главную - закладки

Жанры

C# 4.0 полное руководство - 2011

Шилдт Герберт

Шрифт:

string ReadStringO

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

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

При неудачном исходе операции

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

Close .

Метод

Описание

int

Read

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

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

int

Read(byte [] buffer,

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

int

offset, int count)

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

int

Read(char[]buffer,

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

int

offset, int count)

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

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

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

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

using System; using System.10;

class RWData {

static void Main {

BinaryWriter dataOut;

BinaryReader dataln;

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;

}

Console.WriteLine;

//А теперь прочитать данные из файла, try {

dataln = new

BinaryReader(new FileStream("testdata", FileMode.Open));

}

catch(IOException exc) {

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

}

try {

i = dataln.Readlnt32;

Console.WriteLine("Чтение " + i); d = dataln.ReadDouble;

Console.WriteLine("Чтение " + d); b = dataln.ReadBoolean;

Console.WriteLine("Чтение " + b); d = dataln.ReadDouble;

Console.WriteLine("Чтение " + d); str = dataln.ReadString;

Console.WriteLine("Чтение " + str);

}

catch(IOException exc) {

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

} finally {

dataln.Close ;

}

}

}

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

Запись 10 Запись 1023.56 Запись True Запись 90.28 Запись Это тест

Чтение 10 Чтение 1023.56 Чтение True Чтение 90.28 Чтение Это тест

Если просмотреть содержимое файла testdata, который получается при выполнении этой программы, то можно обнаружить, что он содержит данные в двоичной, а не в удобочитаемой текстовой форме.

Поделиться:
Популярные книги

Надуй щеки! Том 7

Вишневский Сергей Викторович
7. Чеболь за партой
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Надуй щеки! Том 7

Черный дембель. Часть 3

Федин Андрей Анатольевич
3. Черный дембель
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Черный дембель. Часть 3

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Пятнадцать ножевых 3

Вязовский Алексей
3. 15 ножевых
Фантастика:
попаданцы
альтернативная история
7.71
рейтинг книги
Пятнадцать ножевых 3

АН (цикл 11 книг)

Тарс Элиан
Аномальный наследник
Фантастика:
фэнтези
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
АН (цикл 11 книг)

Возвышение Меркурия. Книга 8

Кронос Александр
8. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 8

С Д. Том 16

Клеванский Кирилл Сергеевич
16. Сердце дракона
Фантастика:
боевая фантастика
6.94
рейтинг книги
С Д. Том 16

Жена проклятого некроманта

Рахманова Диана
Фантастика:
фэнтези
6.60
рейтинг книги
Жена проклятого некроманта

Пипец Котенку! 4

Майерс Александр
4. РОС: Пипец Котенку!
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Пипец Котенку! 4

Барин-Шабарин

Гуров Валерий Александрович
1. Барин-Шабарин
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Барин-Шабарин

Чехов. Книга 2

Гоблин (MeXXanik)
2. Адвокат Чехов
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Чехов. Книга 2

Товарищ "Чума" 5

lanpirot
5. Товарищ "Чума"
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Товарищ Чума 5

70 Рублей - 2. Здравствуй S-T-I-K-S

Кожевников Павел
Вселенная S-T-I-K-S
Фантастика:
боевая фантастика
постапокалипсис
5.00
рейтинг книги
70 Рублей - 2. Здравствуй S-T-I-K-S

Мастер 7

Чащин Валерий
7. Мастер
Фантастика:
фэнтези
боевая фантастика
попаданцы
технофэнтези
аниме
5.00
рейтинг книги
Мастер 7