System::IO::Stream класс

Stream class

Базовый класс для различных реализаций потоков. Объекты этого класса должны создаваться только с помощью функции System::MakeObject(). Никогда не создавайте экземпляр этого типа в стеке или с помощью оператора new, так как это приведёт к ошибкам времени выполнения и/или сбоям утверждений. Всегда оборачивайте этот класс в указатель System::SmartPtr и используйте этот указатель для передачи его в функции в качестве аргумента.

class Stream : public System::IDisposable

Методы

МетодОписание
virtual BeginRead(System::ArrayPtr<uint8_t>, int, int, System::AsyncCallback, System::SharedPtr<System::Object>)Инициирует асинхронную операцию чтения.
virtual BeginWrite(System::ArrayPtr<uint8_t>, int, int, System::AsyncCallback, System::SharedPtr<System::Object>)Инициирует асинхронную операцию записи.
virtual Close()Закрывает поток.
CopyTo(const SharedPtr<Stream>&)Копирует байты в указанный поток.
CopyTo(const SharedPtr<Stream>&, int32_t)Копирует байты в указанный поток, используя указанный размер буфера.
Dispose() overrideОсвобождает все ресурсы, используемые текущим объектом, и закрывает поток.
virtual EndRead(System::SharedPtr<System::IAsyncResult>)Ожидает завершения указанной асинхронной операции чтения.
virtual EndWrite(System::SharedPtr<System::IAsyncResult>)Завершает асинхронную операцию записи. Ожидает завершения указанной асинхронной операции записи.
virtual Flush()Очищает буферы этого потока и записывает все буферизованные данные в базовое хранилище.
virtual FlushAsync(const Threading::CancellationToken&)Асинхронно очищает все буферы этого потока, заставляя любые буферизованные данные записываться в подлежащее устройство, и отслеживает запросы на отмену.
FlushAsync()Асинхронно очищает все буферы этого потока, заставляя любые буферизованные данные записываться в подлежащее устройство, и отслеживает запросы на отмену.
virtual get_CanRead() constОпределяет, читаем ли поток.
virtual get_CanSeek() constОпределяет, поддерживает ли поток перемещение.
virtual get_CanTimeout() constПолучает значение, определяющее, может ли текущий поток завершаться по тайм‑ауту.
virtual get_CanWrite() constОпределяет, доступен ли поток для записи.
virtual get_Length() constВозвращает длину потока в байтах.
virtual get_Position() constВозвращает текущую позицию потока.
virtual get_ReadTimeout() constПолучает значение в миллисекундах, определяющее, как долго поток будет пытаться читать до истечения тайм‑аута.
virtual get_WriteTimeout() constПолучает значение в миллисекундах, определяющее, как долго поток будет пытаться записывать до истечения тайм‑аута.
virtual Read(const ArrayPtr<uint8_t>&, int32_t, int32_t)Считывает указанное количество байтов из потока и записывает их в указанный массив байтов.
virtual Read(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t)Считывает указанное количество байтов из потока и записывает их в указанный массив байтов.
Read(const System::Details::StackArray<uint8_t, N>&, int32_t, int32_t)Считывает указанное количество байтов из потока и записывает их в указанный массив байтов.
virtual ReadAsync(const ArrayPtr<uint8_t>&, int32_t, int32_t, const Threading::CancellationToken&)Асинхронно читает последовательность байтов из текущего потока, перемещает позицию в потоке на количество прочитанных байтов и отслеживает запросы на отмену.
ReadAsync(const ArrayPtr<uint8_t>&, int32_t, int32_t)Асинхронно читает последовательность байтов из текущего потока, перемещает позицию в потоке на количество прочитанных байтов и отслеживает запросы на отмену.
virtual ReadByte()Читает один байт из потока и возвращает 32-битное целое значение, эквивалентное значению прочитанного байта.
virtual Seek(int64_t, SeekOrigin)Устанавливает позицию потока, представленного текущим объектом.
virtual set_Position(int64_t)Устанавливает позицию потока.
virtual set_ReadTimeout(int)Устанавливает значение, определяющее, может ли текущий поток завершаться по тайм‑ауту.
virtual set_WriteTimeout(int)Устанавливает значение в миллисекундах, определяющее, как долго поток будет пытаться читать до истечения тайм‑аута.
virtual SetLength(int64_t)Устанавливает длину потока, представленного текущим объектом.
virtual Write(const ArrayPtr<uint8_t>&, int32_t, int32_t)Записывает указанный поддиапазон байтов из указанного массива байтов в поток.
virtual Write(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t)Записывает указанный поддиапазон байтов из указанного массива байтов в поток.
Write(const System::Details::StackArray<uint8_t, N>&, int32_t, int32_t)Записывает указанный поддиапазон байтов из указанного массива байтов в поток.
virtual WriteAsync(const ArrayPtr<uint8_t>&, int32_t, int32_t, const Threading::CancellationToken&)Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию в этом потоке на количество записанных байтов и отслеживает запросы на отмену.
WriteAsync(const ArrayPtr<uint8_t>&, int32_t, int32_t)Асинхронно записывает последовательность байтов в текущий поток, перемещает текущую позицию в этом потоке на количество записанных байтов и отслеживает запросы на отмену.
virtual WriteByte(uint8_t)Записывает указанное беззнаковое 8-битное целое значение в поток.

Поля

ПолеОписание
static NullПоток без базового хранилища.

Typedefs

Определение типаОписание
PtrПсевдоним для shared pointer на этот класс.

См. также