0

我有这个名为的文本文件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);           
        }
    });


    }


}

我可以将输入文本保存在字符串变量上吗?或者还有另一种简单的方法可以做到这一点?谢谢你 :))

4

3 回答 3

2

尝试,拆分()

String[] splittedValues = someText.split(" ");
if (splittedValues[0].equalsIgnoreCase(splittedValues[1]))
  {
      // do your process
  }
于 2013-10-02T03:47:00.470 回答
1

您可以在此处阅读答案以了解如何逐行读取文件。

然后要比较每行的两个部分,您可以通过执行以下操作将它们分开:

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

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

if(parts[0].equals(parts[1])) {
    doSomething();
}
于 2013-10-02T03:46:30.670 回答
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);用于比较。

于 2013-10-02T03:50:38.297 回答