今天先來談?wù)凞atalog文件,這種文件格式也有點(diǎn)年代了?;旧峡梢哉J(rèn)為這種文件格式是二進(jìn)制的。準(zhǔn)確的講,如果仔細(xì)研究,可以發(fā)現(xiàn)這種文件的內(nèi)部結(jié)構(gòu)比較奇怪。舉個例子:如果往這個文件中存儲3個int32的數(shù)字,用二進(jìn)制的文本編輯器打開,可以看到內(nèi)容類似于:
這個還比較還理解,前面是一些頭文件,后面是1、2、3三個數(shù)字。但是如果寫入a、b、c三個字符,情況就比較復(fù)雜了:
中間再省略若干行0。。。到文件的最后是:
由此可見,該文件格式對于不同的數(shù)據(jù)類型、不同的存儲方法有不同的內(nèi)部結(jié)構(gòu)。我個人看來,對于后一種結(jié)構(gòu),還是有不少的冗余信息的。這種文件使用起來也不是太復(fù)雜,有一整套的API可以調(diào)用,具體的使用方法可以參考幫助文檔。
總體來講,這種文件格式,性能、使用的建議度、可讀性均在中等水平,僅適用于LabVIEW軟件。對于性能有一點(diǎn)要求,但要求不是很高的用戶來說,可以采用該文件格式。
再介紹一種文件格式,在LabVIEW中就叫做“二進(jìn)制文件(binary file)”,其實(shí)很多文件格式都是二進(jìn)制的,包括剛才介紹的Datalog,以及以后要介紹的TDMS。為了區(qū)別于其他二進(jìn)制文件,我們有時候叫這種二進(jìn)制文件為“bytestream”。具體操作這種文件格式的API非常簡單。
這種文件格式的性能非常高,使用起來也非常方便(就兩個VI,一個負(fù)責(zé)寫,一個負(fù)責(zé)讀),但是數(shù)據(jù)的組織,也就是內(nèi)部數(shù)據(jù)的結(jié)構(gòu)(在這里無法透露具體的內(nèi)部結(jié)構(gòu)),可以說是比較差的。如果用戶對于寫入文件的性能要求比較高,但是并沒有太多后續(xù)維護(hù)、管理數(shù)據(jù)的需求,可以考慮采用這種文件格式。