2016-11-15 20 views
0

由于某种原因,我的字符串是都柏林,将不匹配我从我的资产文件夹中的文本文件获得的字符串。 这里就是我得到的线从输入流创建的字符串不匹配在if语句

InputStream is; 
     String text = ""; 
     try { 
      is = getAssets().open("loc.txt"); 
      int size = is.available(); 
      byte[] buffer = new byte[size]; 
      is.read(buffer); 
      is.close(); 
      text = new String(buffer); 


     } 
     catch (IOException ex){ 
      ex.printStackTrace(); 
     } 
     this.city = text; 

代码这里是我比较字符串

Toast.makeText(this, city+" this is name stored as city in onMapReady in map activity",Toast.LENGTH_LONG).show(); 
    double lat, lon; 
    city.trim(); 
    if (city.trim().equalsIgnoreCase("Dublin")) 
    { 
     Toast.makeText(this, city+" getting into dublin in map activity",Toast.LENGTH_LONG).show(); 

     lat = 53.343908; 
     lon = -6.267554; 
    } 

它打印都柏林if语句之前,但从未达到内部。 谢谢

+1

你说“它打印都柏林”,但你的意思是说“它打印都柏林?” 'd'是大写还是小写? –

+0

对不起,我的意思是它打印都柏林,现在会改变 –

+1

你有没有尝试equalsIgnoreCase和修剪字符串? –

回答

0

我解决了这个问题。通过检查字符串的长度,它说长度是7,当它应该是6.我有我的文本文件保存为UTF-8而不是ANSI。当我改变它的长度是6和程序工作正常。