相關資訊
存取二進製文件與存取其他文件按照相同的程式碼結構。具體來說,用戶打開文件,根據需要呼叫讀取和寫入功能,然後關閉文件。下圖顯示了一個簡單的情況,說明如何將32位元帶符號整數寫入二進製文件:
讀取二進製文件時,用戶必須知道將數據寫入文件時的格式。寫入二進製文件時,請注意存儲數據的格式,以便以後可以正確讀取。用戶可以選擇二進製文件的結構,並且二進製文件沒有通用的格式(與ASCII不同),因此其他應用程式或作業系統可能無法從文件中讀取有意義的數據。
將整數寫入二進製文件時,整數的位元將映射到文件中的位元。例如,如果將I32寫入二進製文件,則它將佔用32位空間。
將I32 2D陣列寫入二進製文件更加複雜,因為該陣列可能具有不同數量的行和列。為了簡化此二維陣列,數據通常與描述這些尺寸的標頭一起保存。要從二進製文件讀取二維陣列,LabVIEW需要一個8字節的標頭。可以通過兩種方式創建此標頭:
- 手動:陣列大小函數可用於決定這些值。必須將FALSE常數連接到Prepend Array或String Size? Write to Binary File的終端。
- 自動:要自動生成標頭,可以將TRUE常數連接到Prepend Array或String Size? Write to Binary File功能的終端(但不是必需的)。
通常,建議讓“Write to Binary File ”功能自動創建數據標頭,因為該標頭根據保存到磁碟的數據類型而有所不同。但是,有時用戶明確需要知道標頭結構並寫入磁碟(或從磁碟讀取)。在這種情況下,可以使用在線參考來確定不同數據類型的必要標頭。
下圖顯示了將2D陣列寫入二進製文件並自動創建標頭的簡單情況:
要讀取二進製文件,請將所需的數據類型連接到“Data Type”輸入中。例如,如果文件包含一個32位元整數的2D陣列,則將一個32位元整數的2D陣列連接到“Data Type”輸入。然後,LabVIEW將假定在文件中存儲了適合虛擬數據類型的標頭文件,並使用該文件標頭提取二進制訊息。下圖顯示了從二進製文件讀取2D數據的簡單情況: