相关信息
访问二进制文件遵循与访问其他文件相同的代码结构。具体来说,用户打开文件,根据需要调用读取和写入功能,然后关闭文件。下图显示了一个简单的情况,说明如何将32位带符号整数写入二进制文件:
读取二进制文件时,用户必须知道将数据写入文件时的格式。写入二进制文件时,请注意存储数据的格式,以便以后可以正确读取。用户可以选择二进制文件的结构,并且二进制文件没有通用的格式(与ASCII不同),因此其他应用程序或操作系统可能无法从文件中读取有意义的数据。
将整数写入二进制文件时,整数的位将映射到文件中的位。例如,如果将I32写入二进制文件,则它将占用32位空间。
将I32 2D数组写入二进制文件更加复杂,因为该数组可能具有不同数量的行和列。为了简化此二维数组,数据通常与描述这些尺寸的标头一起保存。要从二进制文件读取二维数组,LabVIEW需要一个8字节的头。可以通过两种方式创建此标头:
- 手动:数组大小函数可用于确定这些值。必须将FALSE常量连接到Prepend Array或String Size吗?写入二进制文件功能的终端。
- 自动:要自动生成标题,可以将TRUE常量连接到Prepend Array或String Size?写入二进制文件功能的终端(但不是必需的)。
通常,建议让“写入二进制文件”功能自动创建数据头,因为该头根据保存到磁盘的数据类型而有所不同。但是,有时用户明确需要知道头结构并写入磁盘(或从磁盘读取)。在这种情况下,可以使用在线参考来确定不同数据类型的必要标题。
下图显示了将2D数组写入二进制文件并自动创建标头的简单情况:
要读取二进制文件,请将所需的数据类型连接到“数据类型”输入中。例如,如果文件包含一个32位整数的2D数组,则将一个32位整数的2D数组连接到“数据类型”输入。然后,LabVIEW将假定在文件中存储了适合虚拟数据类型的头文件,并使用该文件头提取二进制信息。下图显示了从二进制文件读取2D数据的简单情况: