1.绝对路径和相对路径
众所周知文件操作过程中最重要的就是正确的输入该文件的路径参数,而路径分为绝对路径和相对路径。其中绝对路径指明了文件在硬盘中从根目录下的绝对位置;相对路径则是指向一个可变化的路径。
在文件操作的过程中要尽量避免使用绝对路径。一般在安装软件时,都允许用户设置暗黄路径,如果使用绝对路径,则有极大的可能导致文件路径指向了错误的位置,从而造成软件功能瘫痪。
而相对路径则不同,由于它指向的是一个可变化的路径,这样的好处是无论用户操作路径如何变化,它都指向一个正确的位置,这种灵活性不只是体现在文件操作中,在程序编写中应时时刻刻考虑到代码的通用性、灵活性等。
因此在操作文件时应尽量避免使用绝对路径,应该尽可能使用相对路径。
2.LabVIEW中使用相对路径
使用相对路径的关键是“..\”的使用,它表示当前目录的上一级目录。如下图1所示,在该路径下创建一个“工作表.xls”文件。
图1该路径下创建文件
创建好文件后,进入LabVIEW的在程序框图中,LabVIEW中有两个常用的构造路径函数——“创建路径”、“拆分路径”,这两个函数为多态函数,可以接受字符串或者路径作为输入。
如下图2所示,使用“当前VI路径”函数得到该VI的路径,然后使用创建路径,返回上一级路径在进入到Config文件夹下的工作表文件中(注:该VI所处的路径和Config是平级的)。
从路径显示控件中可以得到该文件的创建时的路径,并且布尔灯是亮着的,后续就可以操作文件了。
图2 使用相对路径得到文件位置
3.EXE文件的路径问题
然而,在使用“当前VI路径”函数得到文件路径,这个函数需要特别注意的一点事在开发环境中和运行环境中是有区别的。如果不分场合的使用该函数,是非常容易导致生成的EXE文件在运行时发生路径错误。
造成这一错误的原因是,在开发环境中直接使用此函数是没有问题的,但是在编译后,路径中会增加执行文件名,就会导致路径与原先出现差异而发生错误。
如下图3所示,生成了EXE文件后,运行程序相对路径就会显示如下图所示,很显然这个路径是错误的,我们无法在“应用路径.exe”内部放置文件。
图3生成 EXE后文件的路径
因此在开发环境和运行环境中使用“当前VI路径”函数的用法是不同的,在开发环境中对路径不需要多余的处理,而在运行环境中需要额外调用一次“拆分路径”函数,才能在EXE文件生成后得到正确的路径。其代码的具体逻辑如图4、图5所示,EXE文件生成后的运行效果如图6所示。
图4 开发环境下路径处理
图4 运行环境下路径处理
图6 EXE文件生成后的运行路径
该方法是通过应用程序的属性节点中的类别来判断是开发环境还是运行环境来实现路径的操作的。该方法非常有实用价值。