如何搜索.text并检索数据

时间:2014-11-02 04:31:22

标签: java android search delimiter

制作一个Android应用程序,其中用户将获得一个ID,然后单击“提交”。使用该ID,它将搜索文本文件,如果找到它将在单独的文本视图中显示内容。

txt文件看起来像这样,每个内容用逗号分隔(“,”)

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

文本文件位于res / raw / 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");
    }

1 个答案:

答案 0 :(得分:0)

上述文本格式通常称为CSV格式,因为它们是以逗号分隔的值。

您可以通过多种方式执行此操作,具体取决于您的偏好。我在文本文件中进行了精确搜索,但是在计算机上使用Java而不是在Android中。基本区别在于如何在设备上定义文件的位置。你可以像StackOverflow post一样。请记住,您需要在字符串上使用split方法,并使用“,”分隔符。示例 - String [] out = line.split(“,”);

前面提到的链接使用双维数组,您可以通过循环索引搜索特定“ID”的行。找到后,可以在嵌套循环中访问该行的其余数据,然后将其放入相应的TextView。

<强>附录 在将每一行拆分为组件时,可以避免无用的处理和内存使用。相反,只需将每一行存储在String数组中并比较前几个字符。成功匹配后,为每个数据项拆分该行。

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

祝你好运!