当前位置:首页 > 测试测量 > 测试测量
[导读]文本文件是由若干行字符构成的计算机文件,根据本文存储方式的不同有多种格式,如doc、txt、inf等。通常所指的文本文件是指能够被系统终端或者简单的文本编辑器中接受的格式,可以认为这种文件是通用的、跨平台的。对

文本文件是由若干行字符构成的计算机文件,根据本文存储方式的不同有多种格式,如doc、txt、inf等。通常所指的文本文件是指能够被系统终端或者简单的文本编辑器中接受的格式,可以认为这种文件是通用的、跨平台的。对通用的英文文本文件而言,ASCII码是最为常见的编码标准;而如果需要存储带重音符号的英文或其它的非ASCII字符,则必须选择一种字符编码,如UTF-8。
尽管ASCII标准使得只含有ASCII字符的文本文件可以在Unix、Macintosh、Microsoft Windows、DOS和其它操作系统之间自由交互,但是在这些操作系统中,换行符并不相同,处理非ASCII字符的方式也不一致。换行(end-of-line, EOL)是一种加在文字字符最后位置的特殊字元,它可以确保后面的下一个字符能够出现在下一行。ASCII编码分别使用LF(Line Feed, 0Ah)或CR(Carriage Return, 0Dh)或CR+LF来表示换行(EOL),不同的操作系统处理EOL的方式如下:
LF:用于Unix或Unix相容系统(GNU/Linux, Mac OS X….),RISC OS;CR:Apple Ⅱ家族;CR+LF:Windows系统,大部分非Unix操作系统。LabVIEW中的文本文件读写采用图 1所示的两个函数完成:“Write To Text File”和“Read From Text File”。这两个函数是多态函数,可以接受File Refnum和File Path两种输入。

图 1 File I/O选板
本例将从一个数据读写的实例中介绍这两个函数的使用。如图 2所示,程序将一个二维数组转换为字符串后写入到文本文件中,将会自动生成该Test.xls文件(如果已经存在该名称的文件,将自动覆盖并不提示用户)。尽管例子的后缀名使用xls(Microsoft Excel格式),但是实质上是文本文件,使用各种文本编辑工具均可以打开(事实上也可以采用任何自定义格式的后缀名)。


图 2 Write to Text File
如果需要将现有的数据添加到原有的文本文件中,应该如何处理呢?如图 3所示,打开文件后使用Set File Position将文件指针移动到文件尾,再写入数据,并关闭文件。


图 3 Write to Text File_Append
对比图 2和图 3,可以看出,尽管都使用了Write To Text File函数,但是二者的输入是不一样的,前者使用路径而后者使用Refnum。此外,前者只使用了一个函数;而后者还加入了Close File函数。事实上,当使用文件路径(Path)直接连入(或者为空,此时将弹出路径选择对话框)到Write To Text File函数中时,LabVIEW将在执行完该函数时自动文件;但是如果是使用文件句柄(Refnum)连入到该函数或者将函数的输出句柄连接到了其它的函数,则LabVIEW将认为文件仍然在使用,并不自动关闭。
右击Write To Text File函数,在弹出菜单中有一个“Convert EOL”菜单项,默认是选中的。当勾选了该选项后,该函数将把所有基于操作系统的EOL字符(行结束符)转换为LabVIEW EOL符。比如会将单独的“”和“”转换成“”行结束符。
图 4显示了从Test.xls中读取数据的实例代码,使用Read from Text File函数能够将文本文件中的字符串读取,程序员可以对这些字符串进行后续的处理,如图中转化为Double数组。事实上,Read from Text File也能够接受路径和文件句柄两种输入方式,当需要只读取文件的部分字节时就需要使用到句柄操作了。


图 4 Read from Text File
Read from Text File函数有一个count输入,表示从文本文件中读取的字节数(byte),当设置为-1时表示整个文本。此外,在函数的右键快捷菜单中选择“Read Lines”将以行为单位(而不是字节)读取文本文件。Read from Text File函数同样也提供了“Convert EOL”选项,此时该函数将把所有基于平台的行结束符转换为换行符,如将“”和“”转换为“”。
【注意】
从Read from Text File函数的count端子可知,该端子为一个I32型整数。当将其它类型的整数连入到该端子时,将自动转换为I32型整数。如果文件过大,超过了I32的表示范围,需要分段读取。
【讨论】如何将一个文本文件的内容清空,但是不要将该文件删除呢?
这个问题似乎是程序员经常遇到的,一个简单的方式就是使用“Open/Create/Replace File”函数,将operation参数设置为replace and create。但是如果在使用文件的过程中,如何将文件内容清空呢?如图 5所示。


图 5 清空已写入文件的文本
当然可以先将该使用“Close File”函数关闭该文件,再使用“Open/Create/Replace File”函数新建该文件。此外,LabVIEW提供了一种字节控制的方式能够迅速地清空文件中的内容,如图 6所示。


图 6 使用Set File Size函数
毫无疑问,文本文件在数据存储方面是非常重要的。通用、简单和易用似乎是最大的优势,这一点从上面的实例中就可以看出来。但是,从测试测量的数据存储方面来说,它也有一些缺点。如读写速度比较慢慢,不适合于高速数据记录;文件取址和检索比较麻烦,无法实现快速定位;当数据量太大时,打开文本文件会非常慢。此外,文本文件无法存储颜色、富文本、图像和视频等多媒体信息。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

NI提供的软件包经济省时,不仅帮助开发人员节省时间,还为创客提供了新的机遇

关键字: LabVIEW 自动化测试系统

强大的图形化编程工具使整个测试和测量过程的各个方面实现可视化

关键字: LabVIEW 图形化编程工具

摘要:对于每一型新机试飞,或者是重大的研究性试飞和验证试飞,都必须实施遥测监控。现基于TTS(TextToSpeech)语音合成技术,结合飞行试验遥测监控系统的不足,利用TTS引擎在LabVIEW开发环境下设计并实现了遥...

关键字: 飞行试验遥测监控系统 TTS LabVIEW

在科研以及应用软件领域,LabVIEW和MATLAB作为比较常用的2款工具,相信很多人都用过吧。简单的概括一下,LabVIEW侧重测试测量和数据采集,MATLAB侧重科学计算和数据分析。

关键字: LabVIEW matlab 混合编程

摘要:利用单片机和虚拟仪器LabVIEW在PC端设计了温湿度测量及控制系统,用于温湿度数据监测。该系统上位机为PC端监控界面,下位机为单片机,单片机采集温湿度数据,并将采集到的数据通过串口发送给监控界面进行监测和管理。该...

关键字: DHT11 LabVIEW 单片机

摘要:当前闭环步进电机在自动化设备中的应用越来越广泛,故为了进一步满足闭环步进电机的应用需求,采用LabVIEW上位机+运动控制卡+驱动器模块的控制方案进行了多轴运动系统的设计,通过设计的上位机软件实现闭环步进电机的实时...

关键字: 闭环步进电机 精度测试 LabVIEW

摘要:为满足某扭矩检测试验标准要求,基于LabView设计开发了一款扭矩检测装置,该装置能检测某类零部件的断裂力矩,满足试验标准要求,其他零部件的扭矩也可在该装置上检测。类似的扭矩装置可参考该装置进行设计。

关键字: 伺服电机 LabVIEW PLC

在下述的内容中,小编将会对LabVIEW的相关消息予以报道,如果LabVIEW是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: LabVIEW 测试测量 NI

一直以来,LABVIEW都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来LABVIEW的相关介绍,详细内容请看下文。

关键字: LabVIEW 测试测量 测试仪器

摘 要 :为了实现对患者的远程诊断或监测,设计了相应的硬件模块采集心电、心率、脉搏、血氧饱和度和体温等生理信号,采集到的用户生理参数通过 WiFi 传输至上位机。上位机采用 LabVIEW 实现对用户生理参数的处理与显示...

关键字: 无线传输 生理参数监测 LabVIEW QRS 波形检测 微信小程序 单片机
关闭
关闭