永发信息网

vb.net问题,如何把一个三维的byte数组写入文件和读取?

答案:2  悬赏:80  手机版
解决时间 2021-01-29 10:48
  • 提问者网友:难遇难求
  • 2021-01-29 07:22
我有一个三维数组 a()()() as byte ,我如何写入名为b.bin(2进制的文件)文件中?还有如何读取回来,最好能用FileStream和BinaryWriter的方式,非常感谢

dim a()()() as byte '可以
直接声明 dim a(3)(3)(3) 是不行的
只能声明 dim a(3)()() as byte,所以下面我写了一个a()()()变量,并对其具体附了值,代码如下:

'声明3维数组
Dim a(3)()() As Byte

'声明2维数组
Dim b1(3)() As Byte
Dim b2(3)() As Byte
Dim b3(3)() As Byte

'定义 a 中的2维数组值
a(1) = b1
a(2) = b2
a(3) = b3

'底层1维数组值
b1(1) = New Byte() {11, 12, 13}
b1(2) = New Byte() {14, 15, 16}
b1(3) = New Byte() {17, 18, 19}

b2(1) = New Byte() {11, 12, 13}
b2(2) = New Byte() {14, 15, 16}
b2(3) = New Byte() {17, 18, 19}

b3(1) = New Byte() {31, 32, 33}
b3(2) = New Byte() {34, 35, 36}
b3(3) = New Byte() {37, 38, 39}

但是在
Dim file As New IO.FileStream("b.bin",IO.FileMode.Create)
之后直接用write写入a是错误的,因为a已经不是一个byte数组了
比如:
file.Write(a,0,27)
最佳答案
  • 五星知识达人网友:轮獄道
  • 2021-01-29 08:27
参考关键字:序列化。
全部回答
  • 1楼网友:街头电车
  • 2021-01-29 09:13
没见过一次性给数组多个元素赋值的,只有在定义时可以初始数组元素,但不是圆括号 dim addr as byte = 0 dim i as byte = 0 dim byteaddr as byte = addr + i dim temp1 as byte = convert.tobyte(hex(topv).substring(2, 4)) dim bytesnd() as byte = {byteaddr, &hab, &hcd, &h1, &ha, &h2, &h0, &h0, temp1, temp2, &h0, 0, 0, 0, 0, 0, 0, 0}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯