2011-11-22 66 views
0

這是一些學生提出的有關作業問題的問題,但我想知道它是如何處理專業的。他們系統的當前設計允許他們讀取A型文件。現在,要求已經改變,他們需要讀取B型文件。他們仍然需要能夠讀取A型。如何處理不同的文檔版本?

A型和B文件結構非常相似,僅在一些關鍵領域有所不同。你怎樣才能以編程的方式找出正在讀入哪一個,或者你是否需要文檔本身的信息?

回答

2

理想情況下,文檔中的某種標題可能包含類型或版本信息。然後系統可以讀取標題以確定如何閱讀文檔的其餘部分。

如果您無法更改文檔的結構,請嘗試將其作爲B類文檔讀取;如果失敗(丟失您提到的「關鍵區域」),然後拋棄您已閱讀的內容並嘗試將其作爲A類讀取。

1

根據如何讀取「文檔」,信息可以由文件本身或其環境以某種方式提供。

如果數據在文檔中,它可能位於文檔的「標題」部分,否則將被忽略。例如,即使對於純文本文件,使用不可見字符作爲第一個字節也可以工作。

如果文檔是文件,則可以使用文件名或更具體的擴展名來區分兩種文件類型,如通常在Windows上執行的那樣。

如果通過網絡發送文檔(例如通過HTTP),則服務器可以提供標識文檔類型的Content-Type標頭。

我想最終這一切都取決於您正在處理的文檔類型以及您如何訪問它。