2014-11-02 64 views
0

在用戶輸入ID的情況下創建一個Android應用程序,然後單擊提交。使用該ID將搜索文本文件,如果發現它將以單獨的文本瀏覽顯示內容。如何搜索.txt文件並檢索數據

txt文件應該是這樣的,用逗號分隔每個內容( 「」)

541,BoB,05-18-2014 
483,Phil,01-19-1992 
971,Komarov,10-30-1858 

文本文件位於RES /生/ players.txt

有一個按鈕的onClick處理程序。我有點不確定我應該使用什麼類型的讀卡器,以及如何搜索其內容。到目前爲止,我有,

try { 
     Resources res = getResources(); 
     InputStream ins = res.openRawResource(R.raw.players); 
     byte[] b = new byte[ins.available()]; 
     ins.read(); 

    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     System.out.print("error, cant read"); 
    } 

回答

0

以上文字格式通常被稱爲CSV格式,因爲它們是逗號分隔值。

您可以通過多種方式完成此操作,具體取決於您的偏好。我在文本文件中進行了精確搜索,但在計算機上使用Java,而在Android中則沒有。基本的區別在於你如何定義設備上文件的位置。你可以像這樣StackOverflow post。請記住,您需要使用分隔符爲「,」的String上的split方法。示例 - String [] out = line.split(「,」);

上述鏈接使用雙維數組,您可以通過循環索引搜索特定「ID」的行。當發現該行的其餘數據可以在嵌套循環中訪問,然後放到相應的TextView中。

附錄 您可以避免無用的處理和內存使用情況,將每一行分解爲它的組件。相反,只需將每行存儲在一個字符串數組中並比較前幾個字符即可。成功匹配時,爲每個數據項分割該行。

如果您要處理超大尺寸的文本文件,您可能需要查看搜索和其他搜索優化。

祝你好運!