Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Объектно-ориентированное программирование.-6

.pdf
Скачиваний:
8
Добавлен:
05.02.2023
Размер:
4.5 Mб
Скачать

 

 

позицию байта или символа вперед

 

 

 

virtual <тип>

 

Большой набор методов для чтения

Read...(...)

 

из потока данных и массивов раз-

 

 

 

 

личных типов (см. MSDN)

 

 

 

 

Свойства

virtual Stream

BaseStream

Предоставляет доступ к базовому потоку

Примечания:

(1) System.Text.Encoding – абстрактный базовый класс для других классов, представляющих различные кодировки символов (ASCIIEncoding, UnicodeEncoding, UTF32Encoding, UTF7Encoding, UTF8Encoding). Подроб-

ности см. в MSDN.

Табл. Д.6 – Основные члены класса System.IO.BinaryWriter

Член

Владелец

 

Описание

 

 

 

 

 

Конструкторы

 

 

 

 

BinaryWriter(Stream

 

Выполняет инициализацию нового

output)

 

экземпляра класса с базовым пото-

 

 

 

 

ком и кодировкой UTF8Encoding

 

 

 

BinaryWriter(Stream

 

Выполняет инициализацию нового

output, Encoding

 

экземпляра класса с базовым пото-

 

 

encoding)

 

ком и указанной кодировкой

 

 

 

 

 

 

 

Методы

 

 

 

 

virtual void Close()

 

Закрывает текущий поток записи и

 

 

связанный с ним базовый поток

 

 

 

 

virtual void

 

Если

параметр равен false, осво-

Dispose(bool disposing)

 

бождает неуправляемые ресурсы

 

 

 

 

потока, если true – освобождает все

 

 

ресурсы

 

 

 

virtual void Flush()

 

Очищает все буферы текущего мо-

 

 

дуля записи и вызывает немедлен-

 

 

ную

запись всех буферизованных

 

 

данных на базовое устройство

 

 

 

virtual long Seek(int

 

Устанавливает позицию в текущем

offset, SeekOrigin

 

потоке

 

 

 

 

 

 

 

471

 

origin)

virtual void

 

Большой набор методов для записи

Write...(...)

 

в поток данных и массивов различ-

 

 

 

 

ных типов (см. MSDN)

 

 

 

 

 

 

Поля

 

 

 

 

 

static readonly

 

Возвращает поток без

резервного

BinaryWriter Null

 

хранилища

 

 

 

 

 

 

 

 

 

Свойства

 

 

 

 

 

virtual Stream

 

Предоставляет доступ

к базовому

BaseStream

 

потоку

 

 

 

 

 

 

 

 

Объекты для текстового потокового ввода-вывода рассмотрены в табл.

Д.7-Д.12.

Табл. Д.7 – Основные члены класса System.IO.TextReader

Член

Владелец

 

Описание

 

 

 

 

 

 

Методы

 

 

 

 

 

 

virtual void Close()

 

Закрывает поток и

освобождает

 

 

все системные ресурсы, связан-

 

 

ные с ним

 

 

 

 

 

void Dispose()

IDisposable

Освобождает все ресурсы, ис-

 

 

пользуемые объектом

 

 

 

virtual void

 

Если параметр равен false, осво-

Dispose(bool

 

бождает неуправляемые ресурсы

 

 

disposing)

 

потока, если true – освобождает

 

 

 

 

все ресурсы

 

 

 

 

 

 

virtual int Peek()

 

Возвращает

следующий доступ-

 

 

ный символ, фактически не счи-

 

 

тывая его из потока входных дан-

 

 

ных (т.е. не изменяя текущую по-

 

 

зицию потока)

 

 

 

 

 

 

virtual int Read()

 

Выполняет

чтение

следующего

 

 

символа из входного потока и пе-

 

 

ремещает положение символа на

 

 

одну позицию вперед

 

 

 

 

 

 

virtual int

 

Выполняет

чтение

диапазона

 

 

 

 

 

 

472

 

 

ReadBlock(char[]

 

 

 

 

символов в буфер

buffer, int index, int

 

 

 

count)

 

 

 

 

 

 

 

 

 

 

 

virtual string

 

 

 

 

Выполняет чтение строки симво-

ReadLine()

 

 

 

 

лов из текущего потока

 

 

 

 

 

 

 

 

 

 

 

virtual string

 

 

 

 

Выполняет чтение всех символов,

ReadToEnd()

 

 

 

 

начиная с текущей позиции до

 

 

 

 

 

 

 

 

 

 

конца потока

 

 

 

 

 

 

 

 

 

Поля

 

 

 

 

 

 

static readonly

 

 

 

 

Предоставляет поток без данных,

TextReader Null

 

 

 

 

доступных для чтения

 

 

 

 

 

 

 

 

 

 

 

 

Табл. Д.8 – Основные члены класса System.IO.TextWriter

 

 

 

 

 

Член

 

Владелец

 

Описание

 

 

 

 

 

 

 

 

Методы

 

 

 

 

 

virtual void

 

 

 

Закрывает поток и освобождает все

Close()

 

 

 

системные ресурсы, связанные с ним

 

 

 

 

 

 

 

 

void Dispose()

 

IDisposable

Освобождает все ресурсы, использу-

 

 

 

 

емые объектом

 

 

 

 

 

virtual void

 

 

 

Если параметр равен false, освобож-

Dispose(bool

 

 

 

дает неуправляемые ресурсы потока,

 

 

 

 

disposing)

 

 

 

если true – освобождает все ресурсы

 

 

 

 

 

 

 

 

 

virtual void

 

 

 

Очищает все буферы текущего потока

Flush()

 

 

 

и вызывает немедленную запись всех

 

 

 

 

 

 

 

 

буферизованных данных на базовое

 

 

 

 

устройство

 

 

 

 

 

virtual void

 

 

 

Большой набор методов для записи в

Write(...)

 

 

 

поток переменных и массивов раз-

 

 

 

 

 

 

 

 

личных видов (аналогично методу

 

 

 

 

Console.Write)

 

 

 

 

 

virtual void

 

 

 

То же самое, но строка записывается

WriteLine(...)

 

 

 

с признаком конца строки (аналогич-

 

 

 

 

 

 

 

 

но методу Console.WriteLine)

 

 

 

 

 

 

 

 

Поля

 

 

 

 

 

static readonly

 

 

 

Предоставляет поток без резервного

TextWriter Null

 

 

 

хранилища, в который можно осу-

 

 

 

 

 

 

 

 

 

 

 

 

 

473

 

 

ществлять запись, но из которого

 

 

нельзя считывать данные

 

 

 

 

Свойства

 

 

 

abstract Encoding

 

Возвращает кодировку, в которой за-

Encoding

 

писаны выходные данные

 

 

 

 

 

virtual

 

Возвращает объект, управляющий

IFormatProvider

 

форматированием

 

 

FormatProvider

 

 

 

 

 

virtual string

 

Признак конца строки, используемый

NewLine

 

текущим потоком

 

 

 

 

 

Для перечисленных ниже (табл. Д.9-Д.12) классов, являющихся потомками IO.TextReader и IO.TextWriter указаны только новые члены, отсутствующие в базовом классе.

Табл. Д.9 – Основные члены класса System.IO.StreamReader

Член

 

Владелец

 

Описание

 

 

 

 

 

 

 

 

 

Конструкторы

 

 

 

 

 

 

 

 

StreamReader(string

 

 

 

 

Инициализирует новый

экземпляр

path)

 

 

 

 

потока для указанного имени файла

 

 

 

 

 

 

 

 

 

 

 

 

StreamReader(Stream

 

 

 

 

Инициализирует новый

экземпляр

stream)

 

 

 

 

класса для указанного базового по-

 

 

 

 

 

 

 

 

 

 

тока

 

 

 

 

 

 

 

StreamReader(...)

 

 

 

 

Ряд других конструкторов (см.

 

 

 

 

 

MSDN)

 

 

 

 

 

 

 

 

 

 

Поля

 

 

 

 

 

 

 

virtual Stream

 

 

 

 

Возвращает основной поток

BaseStream

 

 

 

 

 

 

 

 

 

 

 

 

 

virtual Encoding

 

 

 

 

Возвращает текущую

кодировку

CurrentEncoding

 

 

 

 

символов потока

 

 

 

 

 

 

 

 

 

 

 

 

 

bool EndOfStream

 

 

 

 

Определяет, находится ли позиция

 

 

 

 

 

текущего потока в конце потока

 

 

 

 

 

Табл. Д.10 – Основные члены класса System.IO.StringReader

 

 

 

 

 

 

Член

Владелец

 

 

Описание

 

 

 

 

 

 

 

 

Конструкторы

 

 

 

 

 

StringReader(string

 

 

Инициализирует новый экземпляр пото-

s)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

474

 

 

 

 

 

 

 

ка, осуществляющий чтение из указан-

 

 

 

 

 

 

ной строки

 

 

 

 

 

 

 

 

 

 

 

 

Табл. Д.11 – Основные члены класса System.IO.StreamWriter

 

 

 

 

 

 

 

 

 

Член

 

 

 

Владелец

 

Описание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конструкторы

 

 

 

 

 

 

 

 

 

 

StreamWriter(string

 

 

 

 

Инициализирует новый экземпляр по-

path)

 

 

 

 

 

 

тока для указанного имени файла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

StreamWriter(Stream

 

 

 

 

Инициализирует

новый

экземпляр

stream)

 

 

 

 

 

 

класса для указанного базового потока

 

 

 

 

 

 

 

 

 

 

 

 

 

 

StreamWriter(...)

 

 

 

 

Ряд других конструкторов (см. MSDN)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поля

 

 

 

 

 

 

 

 

 

 

 

 

 

 

virtual bool

 

 

 

 

 

 

Определяет,

будет

ли

сбрасываться

AutoFlush

 

 

 

 

 

 

буфер в основной поток после каждого

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вызова Write и WriteLine

 

 

 

 

 

 

 

 

 

virtual Stream

 

 

 

 

 

 

Возвращает основной поток

BaseStream

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Табл. Д.12 – Основные члены класса System.IO.StringWriter

 

 

 

 

 

 

Член

 

Владелец

 

Описание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конструкторы

 

 

 

 

 

 

 

StringWriter(...)

 

 

 

Набор конструкторов для инициализации

 

 

 

 

 

новых экземпляров потока

 

 

 

 

 

 

 

 

 

 

 

 

475