我想在不使用文件系统的情况下读取 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[ ]"
(括号和星号之间没有额外的空格字符,否则在这篇文章中它不会正确显示 benn)
Array.Copy(notesStream.Read(), 0, buffer, 0, streamSize)
-> 错误:源数组不够长。检查 srcIndex 和长度,以及数组的下限。