android讀取assets文件下的內容,一般都是使用getAsset.open()方法,並將文件的路徑作為參數傳入,而當我們解析一個目錄下的文件時需要對其進行解析時,比如:a.txt文件的內容為:
name
android,liu
class
1,2,3,4
這些文件有時就像是數據庫文件的格式一樣,我們就需要對其進行解析。
我們知道獲取assets文件後返回的是一個inputstream而不是一個file類型,所以我們需要對inputstream進行解析。主要分為兩個階段:第一個階段為:去換行符,第二個階段為分解每行信息。(ps:本人是個菜鳥,這個是我自己嘗試的一個方法,希望有更好的方式來進行解析)
我們需要將inputstream中的內容進行存儲,先暫時存儲到一個byte【】數組中,然後將byte數組放入string串中,接下來就是對該串進行解析。
第一階段:去換行符。通過string.split("[\\n]")方法(ps:為什麼要用[\\n]呢,這個可以查閱正則表達式,而[\\n]的意思就是匹配換行符),這樣我們需要將分割的結果存儲到string數組中。
第二階段:分解每行信息。可以說第一階段做的就是將每一行的信息存儲到string數組中了,接下來就是對每個string進行解析,同樣需要用到string.split()方法,由於我們用到的是逗號作為分隔符,所以"[,]"作為參數進行分割,同時需要注意的是在進行數據的轉換時需要將string中的空格去掉,使用到string.trim()方法,這樣就可以將string轉換成int。
接下來就是怎樣將這些信息使用到程序中了 。