我在以 block 的形式读取内存流时遇到一些问题。
Dim ByteBuffer(4096) As Byte
While ProcessedBytes < FileLength
BytesRead = MemoryStream.Read(ByteBuffer, 0, 4096)
'Write the buffer to an output stream
ProcessedBytes += BytesRead
End While
“MemoryStream.Read(ByteBuffer, 0, 4096)”始终返回零。我查看了“MemoryStream.Length”,流中肯定有一些字节。
最佳答案
如果您只是想从 MemoryStream
中获取 byte[]
数据,则可以调用 MemoryStream.ToArray() :
Dim ByteBuffer() as Byte = MemoryStream.ToArray()
否则,请确保设置 MemoryStream
的 Position在读取之前先将其设置为 0。
关于.net - 将内存流读入字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11956697/