Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура информационных систем.docx
Скачиваний:
73
Добавлен:
23.05.2015
Размер:
32.29 Mб
Скачать

Синхронные методы класса Stream

Метод

Описание

Read()иReadRyte()

Эти методы используются для выполнения синхронного чтения из потока

Заметим, что в конце потока метод Read() возвращает 0, в то время как методReadRyte() возвращает -1

Write() иWriteRyte()

Используются для выполнения синхронной записи в поток. Метод Write() записывает в поток последовательность байтов и продвигает текущую позицию в потоке вперед на число записанных байтов, а метод WriteRyre() записывает в текущую позицию один байт, продвигая позицию на 1.

Асинхронные методы класса Stream

Метод

Описание

BegininRead()иBegininWrite()

С помощью методов можно выполнить асинхронные операции ввода/вывода.

Оба метода принимают пять параметров буфер в виде массивов байтов, в который данные считываются или из которого они записываются, целочисленное смещение, указывающее на начальную позицию чтения или записи данных, целочисленные счетчик, задающий максимальное число считываемых или записываемых байтов. Четвертый параметр - это необязательный "делегат" AsyncCallback, вызываемый при завершении операции чтения или записи. Пятый и последний параметр - обеспеченный пользователем объект, с помощью которого он может отличить данный конкретный запрос от других запросов

Оба метода возвращают интерфейс IAsyncResult, представляющий состояние асинхронной операции

EndRead()иEndWrite()

Эти методы используются для завершения асинхронных операций ввода/вывода , они позволяют дождаться окончания ассинхронных операций.

Методы управления потоком

Метод

Описание

Flust()

Метод чистит все буферы и перемещает информацию в пункт назначения в зависимости от состояния объекта Stream

Close()

Этот метод используется для освобождения ресурсов, связанных с потоком. Он автоматически сбрасывает и сохраняет данные, поэтому метод Flust() перед этим методом не требуется. Базовый механизм закрытия потока различается для каждого типа пока - в классеFileStreamон освобождает ресурсы файлы, а в классеNetworkStreamзакрывает соответствующий сокет.

SetLength()

Этот используется для установки длины текущего потока

Чтобы можно было использоваться этим методом, поток должен поддерживать операции записи и поиска.

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

public FileStream (string parh, FileMode on)

идентифицирует новый экземпляр класса FileStream с указанным путем и режимом создания

Значение FileMode

Описание

Append

Открывает существующий или создает новый файл для добавления данных

Create

Создает новый файл, перезаписывая уже существующий файл

CreateNew

Создает новый файл, порождая исключение, если этот файл уже существует

Open

Открывакт существующий файл, порождая исключение, если файл не существует

OpenOrCreate

Если файл существует, он открывается, иначе создается новый файл

Truncate

Открывает файл и удаляет его содержимое, устанавливая указатель файлы на его начало.