2013-02-24 67 views
2

我在Android res/raw文件夾中添加了一個示例文本文件,我試圖將該文件的每一行添加到一個字符串數組列表中。從Android原始資源文件中掃描句子

對於如說示例文本文件包含以下行

樣品一號線

採樣線兩

採樣線三

我想補充這三個句子作爲三個字符串轉換爲一個字符串數組列表。我試着下面的代碼:

List<String> sampleList = new ArrayList<String>();  
Scanner s = null; 
s = new Scanner(getResources().openRawResource(R.raw.sample)); 
while (s.hasNextLine()){ 
    sampleList.add(s.next()); 
} 
s.close(); 

上面的代碼加在的9數組大小的數組列表和結果中的每個字,而不是將每個句子的3.感謝預期數組的大小對你的幫助。

回答

3

使用Scanner#nextLine()代替Scanner#next()

sampleList.add(s.nextLine()); 

掃描儀所使用的白空間作爲默認分隔符。 Scanner#next()查找並返回來自此掃描器的下一個完整標記。完整的令牌前後有與分隔符模式匹配的輸入。

您還可以使用Scanner#useDelimiter(delim)將掃描儀的分隔符設置爲下一行(\ n)。

s = new Scanner(getResources().openRawResource(R.raw.sample)).useDelimiter("\n"); 
while (s.hasNextLine()){ 
    sampleList.add(s.next()); 
} 

現在您可以使用Scanner.next(),因爲它使用下一行(\ n)作爲分隔符。

+0

啊,謝謝。 – sony 2013-02-24 00:35:35