读取输入文本文件并进行比较(Android)

时间:2013-10-02 03:41:03

标签: java android data-access

我有一个名为params.txt的文本文件,其中包含:

3
WENSY WENDY
PING PING
CHLOE CHLOE

我的问题是,如何读取此输入并将两个字符串进行比较?比较Wensy和Wendy等等。

Code:

public class MainActivity extends Activity {

    InputStream is=null;
    DataInputStream dis=null;
    Resources myResources = null;
    TextView tv=null;
    String someText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button verify = (Button) findViewById (R.id.verify);
    myResources = this.getResources();
    tv = (TextView)findViewById(R.id.FileViewer);
    is = myResources.openRawResource(R.raw.params);
    dis = new DataInputStream(is);
    someText = null;

    verify.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            try{
                someText=dis.readLine();
                }catch(IOException ioe){
                someText ="Couldn't read the file";
                }
                tv.setText(someText);           
        }
    });


    }


}

我可以将输入文本保存在String变量中吗?或者还有另一种简单的方法吗?谢谢你:))

3 个答案:

答案 0 :(得分:2)

尝试,split()

String[] splittedValues = someText.split(" ");
if (splittedValues[0].equalsIgnoreCase(splittedValues[1]))
  {
      // do your process
  }

答案 1 :(得分:1)

您可以阅读答案here以了解如何逐行阅读文件。

然后比较每一行的两个部分,你可以通过这样做分开它们:

String[] parts = line.split(" ");

然后,您可以使用parts[0]parts[1]来比较每个部分。 例如:

if(parts[0].equals(parts[1])) {
    doSomething();
}

答案 2 :(得分:0)

在你的someText = dis.readLine();

之后
String[] split = someText.split(" ");
if (split[0].equals(split[1]){
    Log.i("MainActivity", "strings are equal");
}else{
    Log.i("MainActivity", "strings are not equal");
}

将比较以查看字符串是否相等。否则,您可以使用String.compareTo(otherString);进行比较。