System::IO::Stream 类

Stream class

是各种流实现的基类。此类的对象只能使用 System::MakeObject() 函数分配。切勿在栈上或使用 operator 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此类的共享指针别名。

另见