我有一个名为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变量中吗?或者还有另一种简单的方法吗?谢谢你:))
答案 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);
进行比较。