Android - 将String与原始文件夹中的.text文件进行比较

时间:2014-11-06 16:58:22

标签: android string compare

我想知道如何将字符串值与.txt文件的每一行进行比较并得到相等的值。

我从.txt文件中获取所有值,但我不明白如何比较它。  例如

ABC
CBA
CCC

在我的.txt文件中 在我的活动中

String someText = "ABC";

以及如何将其与.txt文件eacline进行比较。 我在下面的代码中完成了.txt文件值。

String result;
        try {
            Resources res = getResources();
            InputStream in_s = res.openRawResource(R.raw.out);

            byte[] b = new byte[in_s.available()];
            in_s.read(b);
            result = new String(b);
            tx.setText(result);
        } catch (Exception e) {
            // e.printStackTrace();
            result = "Error: can't show file.";
            tx.setText(result);
        }

2 个答案:

答案 0 :(得分:0)

    BufferedReader reader = null;
    try {
        reader = new BufferedReader(
            new InputStreamReader(getAssets().open("out.txt"), "UTF-8")); 

        // do reading, usually loop until end of file reading 
        String mLine = reader.readLine();
        while (mLine != null) {
           //process line              
           //mLine = reader.readLine(); 
           if ("ABC".equals(mLine)){
               Toast.makeText(this, "Yuppppiiiiii", 1000).show();                  
           }
           mLine = reader.readLine();
        }
    } catch (IOException e) {
        //log the exception
    } finally {
        if (reader != null) {
             try {
                 reader.close();
             } catch (IOException e) {
                 //log the exception
             }
        }
    }

答案 1 :(得分:0)

我认为您的问题是因为您阅读文件的方式 您目前将所有文件内容读入字符串,这使您难以比较 好的,现在是程序:

  1. 您打开文件(创建一个InputStream,使用Assert,然后将其包装在BufferedReader中)
  2. 您逐行读取,将值存储在变量中(使用bufferreader的readline()函数)
  3. 您可以为此变量和字符串(String.equal)
  4. 调用比较字符串函数

    我希望你能清楚地理解它。所有剩下的任务都是关于Android文档的。