从二进制文件中读取矩阵

Posted

技术标签:

【中文标题】从二进制文件中读取矩阵【英文标题】:Read a matrix from a binary file 【发布时间】:2013-08-12 18:03:47 【问题描述】:

我正在尝试从二进制文件 (256x256x2) 中读取两个矩阵,但如果不迭代 256x256x2 次就无法做到,这需要太长时间。现在我只想检查数据并确保它是正确的(不仅仅是零)。这就是我所拥有的:

Dim msg As String
Dim b(256 * 256 * 2) As Byte
Dim i As Int32
Dim reader As New BinaryReader(File.Open(path, FileMode.Open))
b = reader.ReadBytes(b.Length)
For i = 0 To b.Length
    msg = msg & ", " & b(i)
Next
TextBox1.Text = msg

矩阵上的数据只是数字(0-255)。

如果可能的话,将数据保存到数组的最佳方式是什么

array[matrixno][row][column]

因为稍后我需要根据数组的位置找到数组的特定值。

PS。我正在使用旧的 Visual Studio 2003,因为那是我可用的。

谢谢

编辑:

弄清楚实际上显示所有字节需要很长时间,问题解决了!

【问题讨论】:

Visual Studio 2010 和 2012 都有免费版本(搜索 Visual Studio Express)。通过使用 2003(即 .NET 1.1),您剥夺了自己的许多高级和新功能。 LINQ 对于您正在尝试做的事情可能非常有用,并且您至少需要 VS 2008 才能使用它。 是的,控制台 I/O 非常慢,您应该仅将其用于调试目的。 1.您可以输入您的解决方案作为答案,稍后再接受。 2. 考虑购买 VB Express 10,它是免费的,并且可能包含您需要的一切。 【参考方案1】:

差不多两年后,是时候将其从未答复的清单中删除了。

循环工作得很好,问题是打印读取的每个值,而不是简单地将其保存到变量中。

经验教训(很久以前):打印需要时间

【讨论】:

以上是关于从二进制文件中读取矩阵的主要内容,如果未能解决你的问题,请参考以下文章

PHP如何将从二进制文件中读取的字节转换为数字

尝试从二进制文件读取时引发违规

Dask 从二进制文件中读取数据

在 Swift 中从二进制文件中读取整数

C - 从二进制文件中读取位

从二进制文件中读取并转换为双精度?