2014-11-02 38 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中。

附录 您可以避免无用的处理和内存使用情况,将每一行分解为它的组件。相反,只需将每行存储在一个字符串数组中并比较前几个字符即可。成功匹配时,为每个数据项分割该行。

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

祝你好运!