0

私はこのテキストファイルparams.txtを次の名前で持っています:

3
WENSY WENDY
PING PING
CHLOE CHLOE

私の質問は、この入力を読み取って 2 つの文字列を 1 行で比較するにはどうすればよいですか? Wendy と 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

ここで回答を読んで、ファイルを1行ずつ読み取る方法を理解できます。

次に、各行の 2 つの部分を比較するには、次のようにしてそれらを分離できます。

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 に答える