System::IO::BufferedStream 类

BufferedStream class

在另一个流之上添加缓冲层。该类的对象只能使用 System::MakeObject() 函数分配。切勿在栈上或使用 new 运算符创建此类型的实例,因为这会导致运行时错误和/或断言故障。始终将此类包装在 System::SmartPtr 指针中,并使用该指针将其作为参数传递给函数。

class BufferedStream : public System::IO::Stream

方法

方法描述
BufferedStream(const SharedPtr<Stream>&)构造一个包装指定流并使用 4096 字节长缓冲区的 BufferedStream 对象。
BufferedStream(const SharedPtr<Stream>&, int)构造一个包装指定流并使用指定大小缓冲区的 BufferedStream 对象。
Flush() override将缓冲区的内容写入底层流。
get_CanRead() const override确定流是否可读取。
get_CanSeek() const override确定流是否支持定位。
get_CanWrite() const override确定流是否可写。
get_Length() const override返回流的长度。
get_Position() const override返回流的当前位置。
Read(const ArrayPtr<uint8_t>&, int32_t, int32_t) override从底层流读取指定数量的字节并将其写入指定的字节数组。
Read(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t) override从底层流读取指定数量的字节并将其写入指定的字节数组。
ReadByte() override从底层流读取单个字节并返回一个等同于读取字节值的 32 位整数。
Seek(int64_t, SeekOrigin) override设置当前对象所表示的流的位置。
set_Position(int64_t) override将缓冲区刷新到底层流,然后设置流的位置。
SetLength(int64_t) override设置当前对象所表示的流的长度。
Write(const ArrayPtr<uint8_t>&, int32_t, int32_t) override将指定字节数组中指定子范围的字节写入底层流。
Write(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t) override将指定字节数组中指定子范围的字节写入底层流。
WriteByte(uint8_t) override将指定的无符号 8 位整数值写入底层流。
virtual ~BufferedStream()析构函数。

字段

字段描述
static Null一个没有底层存储的流。

另见