今天先来谈谈Datalog文件,这种文件格式也有点年代了。基本上可以认为这种文件格式是二进制的。准确的讲,如果仔细研究,可以发现这种文件的内部结构比较奇怪。举个例子:如果往这个文件中
存储3个int32的数字,用二进制的文本编辑器打开,可以看到内容类似于:
![](http://byfiles.storage.msn.com/y1pTA2hF2AsymCQR6iYOUVGdSvRJ8_0PdN6f__O7w3j2So9SchZkZkEquMC1xSoDP1eFNUH5aNN7GI
PARTNER=WRITER)
这个还比较还理解,前面是一些头文件,后面是1、2、3三个数字。但是如果写入a、b、c三个字符,情况就比较复杂了:
![](http://byfiles.storage.msn.com/y1pTA2hF2AsymCX4t2dMo9l6_CY-fknVVGJK-w8ZhwCVTveRflZlSmjwDxd3OlK9QWqMyiCd6NRHr0
PARTNER=WRITER)
中间再省略若干行0。。。到文件的最后是:
![](http://byfiles.storage.msn.com/y1pTA2hF2AsymAEwf0owiZ7ZQoUFzRg0CtPhRg0TE-qMW3_7qO7k8yJqYVE6HyRo9CYQ1VbqAlpjQU
PARTNER=WRITER)
由此可见,该文件格式对于不同的数据类型、不同的存储方法有不同的内部结构。我个人看来,对于后一种结构,还是有不少的冗余信息的。这种文件使用起来也不是太复杂,有一整套的API可以调用,具体的使用方法可以参考帮助文档。
![](http://byfiles.storage.msn.com/y1pTA2hF2AsymBj03egUA4Fd2RanAMjVJp4e2We-YaSGqXmRIrNSir0RgYzfiPkm4S9uKpT0pk-mUQ
PARTNER=WRITER)
总体来讲,这种文件格式,性能、使用的建议度、可读性均在中等水平,仅适用于LabVIEW软件。对于性能有一点要求,但要求不是很高的用户来说,可以采用该文件格式。
再介绍一种文件格式,在LabVIEW中就叫做“二进制文件(binary file)”,其实很多文件格式都是二进制的,包括刚才介绍的Datalog,以及以后要介绍的TDMS。为了区别于其他二进制文件,我们有时候叫这种二进制文件为“bytestream”。具体操作这种文件格式的API非常简单。
![](http://byfiles.storage.msn.com/y1pTA2hF2AsymDhGVtspOyOhiTAJ2b60qJ2UWf_7veiNusmnNZmJMRXO7mZxIEJohsI4xFKh8gFGUM
PARTNER=WRITER)
这种文件格式的性能非常高,使用起来也非常方便(就两个VI,一个负责写,一个负责读),但是数据的组织,也就是内部数据的结构(在这里无法透露具体的内部结构),可以说是比较差的。如果用户对于写入文件的性能要求比较高,但是并没有太多后续维护、管理数据的需求,可以考虑采用这种文件格式。