Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Готовые билеты.docx
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
44 Кб
Скачать
☆

14) Потоки символов.

Символьные потоки StreamWriter и StreamReader работают с Unicode-символами, следовательно, ими удобнее всего пользоваться для работы с файлами, предназначенными для восприятия человеком. Эти потоки являются наследниками классов TextWriter и TextReader соответственно, которые обеспечивают их большей частью функциональности.

Наиболее важные элементы базового класса TextWriter

Close Закрыть файл и освободить связанные с ним ресурсы. Если в процессе записи используется буфер, он будет автоматически очищен

Flush Очистить все буферы для текущего файла и записать накопленные в них данные в место их постоянного хранения. Сам файл при этом не закрывается

NewLine Используется для задания последовательности символов, означающих начало новой строки. По умолчанию используется последовательность «возврат каретки» — «перевод строки» (\r\n)

Write Записать фрагмент текста в поток

WriteLinе Записать строку в поток и перейти на другую строку

Наиболее важные элементы класса TextReader

Peek Возвратить следующий символ, не изменяя позицию указателя в файле

Read Считать данные из входного потока

ReadBlock Считать из входного потока указанное пользователем количество символов и записать их в буфер, начиная с заданной позиции

ReadLine Считать строку из текущего потока и возвратить ее как значение типа string. Пустая строка (null) означает конец файла (EOF)

ReadToEnd Считать все символы до конца потока, начиная с текущей позиции, и возвратить считанные данные как одну строку типа string

15) Двоичные потоки.

Двоичные файлы хранят данные в том же виде, в котором они представлены в оперативной памяти, то есть во внутренней форме представления. Двоичные файлы применяются не для просмотра их человеком, а для использования в программах. Выходной поток BinaryWriter поддерживает произвольный доступ, то есть имеется возможность выполнять запись в произвольную позицию двоичного файла.

Двоичный файл открывается на основе базового потока, в качестве которого чаще всего используется поток FileStream. Входной двоичный поток содержит перегруженные методы чтения для всех простых встроенных типов данных.

Наиболее важные элементы класса BinaryWriter

BaseStream Базовый поток, с которым работает объект BinaryWriter

Close Закрыть поток

Flush Очистить буфер

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

Write Записать значение в текущий поток

Наиболее важные элементы класса BinaryReader

BaseStream Базовый поток, с которым работает объект BinaryReader

Close Закрыть поток

PeekChar Возвратить следующий символ без перемещения внутреннего указателя в потоке

Read Считать поток байтов или символов и сохранить в массиве, передаваемом как входной параметр

ReadXXXX Считать из потока данные определенного типа (напримерь ReadByte)

16) Консольный ввод-вывод.

Для организации ввода и вывода используется известный вам класс Console, определенный в пространстве имен System. В этом классе определены три стандартных потока: входной поток Console.In класса TextReader и выходные потоки Consolе.Out и Console.Error класса TextWriter. По умолчанию входной поток связан с клавиатурой, а выходные — с экраном, однако можно перенаправить эти потоки на другие устройства с помощью методов SetIn и SetOut или средствами операционной системы (перенаправление с помощью операций <, > и »). При обмене с консолью можно применять методы указанных потоков, но чаще используются методы класса Console — Read, ReadLine, Write и WriteLine, которые просто передают управление методам нижележащих классов In, Out и Error.

Использование не одного, а двух выходных потоков полезно при желании разделить нормальный вывод программы и её сообщения об ошибках. Например, нормальный вывод программы можно перенаправить в файл, а сообщения об ошибках — на консоль или в файл журнала.