MemoryStream.Read 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
Read(Span<Byte>) |
从当前内存流读取字节序列,并将内存流中的位置向前移动读取的字节数。 |
Read(Byte[], Int32, Int32) |
从当前流中读取字节块并将数据写入缓冲区。 |
Read(Span<Byte>)
- Source:
- MemoryStream.cs
- Source:
- MemoryStream.cs
- Source:
- MemoryStream.cs
从当前内存流读取字节序列,并将内存流中的位置向前移动读取的字节数。
public:
override int Read(Span<System::Byte> destination);
public:
override int Read(Span<System::Byte> buffer);
public override int Read (Span<byte> destination);
public override int Read (Span<byte> buffer);
override this.Read : Span<byte> -> int
override this.Read : Span<byte> -> int
Public Overrides Function Read (destination As Span(Of Byte)) As Integer
Public Overrides Function Read (buffer As Span(Of Byte)) As Integer
参数
返回
读入缓冲区中的总字节数。 如果很多字节当前不可用,则这可小于在缓冲区中分配的字节数;如果已到达内存流结尾,则为零 (0)。
适用于
Read(Byte[], Int32, Int32)
- Source:
- MemoryStream.cs
- Source:
- MemoryStream.cs
- Source:
- MemoryStream.cs
从当前流中读取字节块并将数据写入缓冲区。
public:
override int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public override int Read (byte[] buffer, int offset, int count);
override this.Read : byte[] * int * int -> int
Public Overrides Function Read (buffer As Byte(), offset As Integer, count As Integer) As Integer
参数
- buffer
- Byte[]
当此方法返回时,包含指定的字节数组,此数组中 offset
和 (offset
+ count
- 1) 之间的值被从当前流中读取的字符所替换。
- offset
- Int32
buffer
中的从零开始的字节偏移量,从此处开始存储当前流中的数据。
- count
- Int32
最多读取的字节数。
返回
写入缓冲区中的总字节数。 如果字节数当前不可用,则总字节数可能小于所请求的字节数;如果在读取到任何字节前已到达流结尾,则为零。
例外
buffer
为 null
。
offset
或 count
为负数。
缓冲区长度减去 offset
的结果小于 count
。
当前流实例已关闭。
示例
此代码示例是为 MemoryStream 类提供的一个更大示例的一部分。
// Read the first 20 bytes from the stream.
byteArray = gcnew array<Byte>(memStream->Length);
count = memStream->Read( byteArray, 0, 20 );
// Read the first 20 bytes from the stream.
byteArray = new byte[memStream.Length];
count = memStream.Read(byteArray, 0, 20);
' Read the first 20 bytes from the stream.
byteArray = _
New Byte(CType(memStream.Length, Integer)){}
count = memStream.Read(byteArray, 0, 20)
注解
此方法重写 Read。
offset
参数提供当前流中的数据写入到的第一个字节buffer
的偏移量。 参数 count
提供从当前流读取的最大字节数。 返回的值是实际读取的字节数,如果到达流的末尾,则返回的值为零。
如果读取操作成功,则流中的当前位置将按读取的字节数前进。 如果发生异常,则流中的当前位置保持不变。
Read
仅当到达流的末尾时,方法才会返回零。 在所有其他情况下, Read
始终在返回之前从流中至少读取一个字节。 根据定义,如果在调用 Read
时流中没有数据可用,则 Read
该方法返回零, (流) 自动到达流的末尾。 实现可以自由地返回比请求的字节少,即使尚未到达流的末尾。
用于 BinaryReader 读取基元数据类型。
注意
如果在 参数中指定的 buffer
字节数组是 方法返回 GetBuffer 的基础缓冲区,则会覆盖数组内容,并且不会引发异常。