labview的深入探索----文件系列之文件的幾點思考
從根本上來說,文件是存儲在磁盤上的連續(xù)字節(jié)流,最小單位是字節(jié),一個文件的大小,表示的是包含字節(jié)的多少,其實,文件還應(yīng)該包括一些附加信息,比如文件生成日期,修改日期,讀寫屬性等,不過這些是由操作系統(tǒng)負(fù)責(zé)維護(hù)的,和文件包含的數(shù)據(jù)沒有關(guān)系.
我們可以這樣認(rèn)為,文件從本質(zhì)上來說都是二進(jìn)制的,即便是文本型文件,本質(zhì)上也是二進(jìn)制的,不過存儲的二進(jìn)制數(shù)代表的是ASCII碼,文件的后綴也只能說明的是文件代表的類型.
比如文本文件后綴一般是.TXT,普通二進(jìn)制文件一般是.BIN或者.DAT,我們完全可以把我們自己的文本文件存儲成.DAT,只要讀的時候按文本的方式讀取就可以了.
說到底,讀文本文件的過程也是按字節(jié)方式讀取的,不過是中間加上ASCII翻譯的工作并顯示出來.
因此,我們完全可以用二進(jìn)制的方式讀文本文件.
文件的本質(zhì)并無不同,真正不同的是如何解釋二進(jìn)制文件的具體內(nèi)容,所以讀寫二進(jìn)制文件是最最基本的文件操作,所有其它格式文件的讀寫不過是在這個基礎(chǔ)上,針對具體文件內(nèi)容,按照相應(yīng)文件格式,做進(jìn)一步的解析.
上面的例子把12345字符串寫入文本文件,那文件到底是如何存儲的那
雖然WINDOWS記事本顯示的12345和我們寫入的字符串是相同的,但是文件中實際存儲的是5個字節(jié),分別是16進(jìn)制的31,32,33,34,35.對應(yīng)的就是1,2,3,4,5的ASCII,可見文本文件也是按字節(jié)方式存儲的,不過是每個字節(jié)代表一個字符的ASCII.
下面我們用LV二進(jìn)制文件讀取方式讀取上面的文本文件,通過LV的字符操作,來還原12345這個字符串.
結(jié)果完全相同
我們再看一下LABVIEW本身提供的讀BMP文件的VI
BMP的具體文件格式各類編程語言的書籍都有介紹,我跟蹤了一下,READ BMP FILE VI
LABVIEW讀BMP文件是通過讀二進(jìn)制文件+文件解析實現(xiàn)的.
評論