Работа с текстовыми данными

В основе библиотеки ввода/вывода текстовой информации в среде.Net лежат два абстрактных класса: TextReader и TextWriter. Каждый из них определяет ряд функциональных примитивов, обеспечивающих соответственно чтение и запись текста, и общих для всех потомков данных классов. Основные методы класса TextReader приведены в таблице 2, а класса TextWriter – в таблице 3.

Таблица 2. Ключевые методы класса TextReader

Метод/Свойство Описание
int Read() Считывает из текстового потока один символ в виде его кода. В случае достижения конца потока или других ошибок возвращает -1.
int ReadBlock(char[] buffer, int index, int count) Считывает последовательность символов длиной «count» в текстовый массив «buffer», размещая их, начиная с позиции «index» в массиве.
string ReadLine() Считывает и возвращает текст с текущей позиции до конца строки.
string ReadToEnd() Считывает и возвращает текст с текущей позиции до конца текстового потока.

Таблица 3. Ключевые методы класса TextWriter

Метод/Свойство Описание
void Flush() Сбрасывает незаписанные изменения на носитель, очищая внутренние буферы потока вывода.
string NewLine { get; set; } Определяет последовательность символом, определяющую конец текстовой строки и перевод на новую строчку. Значение данного свойства специфично для различных ОС.
void Write(…) Сохраняет переданные данные в текстовый поток. Формат и поведение данных методов аналогично функции Write класса Console.
void WriteLine(…) Сохраняет переданные данные в текстовый поток вставляя после записанных данных признак конца строки. Формат и поведение данных методов аналогично функции WriteLine класса Console.

Реализацией описанной функциональности занимаются классы StreamReader/Writer, StringReader/Writer. Первый из них организует текстовый ввод/вывод, используя двоичные потоки данных в качестве основы, второй – осуществляет надстройку над текстовой строкой в памяти (типов System.String), позволяя применять к ней идеологию доступа на основе текстовых потоков. Получить конкретные экземпляры данных классов можно либо через их конструкторы, либо (для классов StreamReader/Writer) через утилитарные функции класса File, описанные ниже.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: