我想在不使用文件系统的情况下读取NotesStream对象(COM引用)的内容。因此,我的意图是将内容传输到.NET字节数组中。 我的例子是在VB.net中,因为我们当时需要后期绑定。
我设法做到的唯一方法是逐字节读取流(假设流中的位置事先设置为0
):
Dim streamSize As Long = CInt(notesStream.Bytes)
Dim buffer(streamSizes - 1) As Byte
For i = 0 To (streamSize - 1)
buffer(i) = notesStream.read(1)(0)
Next
与使用文件系统(notesStream.Open()
)相比,这非常慢。
我发现的其他解决方案都给了我错误,比如这两个例子:
buffer = notesStream.Read(streamSize)
- >错误:“System.Byte [*]”类型的对象无法转换为“System.Byte []”类型 /无法转换“System.Byte [*]”类型的对象以输入“System.Byte []”
(括号和星号之间没有额外的空格字符,但在此帖子中没有正确显示的内容)
Array.Copy(notesStream.Read(), 0, buffer, 0, streamSize)
- >错误:源数组不够长。检查srcIndex和length,以及数组的下限。