2013-10-02 4 views
0

Я этот текстовый файл с именем params.txt, которые состоят из:Чтение входного текстового файла и сравнения (Android)

3 
WENSY WENDY 
PING PING 
CHLOE CHLOE 

Мой вопрос, как я могу прочитать эти входы и сравнить две строки в одной строке? Сравните Wensy и Венди и так далее ..

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? Или есть еще один простой способ сделать это? thankyou :))

+1

Что вы попробовали? – newuser

+0

Добавлен код @newuser. Я не знаю, как сравнить две строки. – pingboo23

ответ

1

Вы можете прочитать ответы here, чтобы выяснить, как читать файл по строкам.

Затем сравнить две части каждой строки вы можете разделить их, делая это:

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

Тогда вы можете сравнить каждую часть с помощью parts[0] и parts[1]. Пример:

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

Try, split()

String[] splittedValues = someText.split(" "); 
if (splittedValues[0].equalsIgnoreCase(splittedValues[1])) 
    { 
     // do your process 
    } 
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); для сравнения.