2016-11-15 4 views
0

何らかの理由で、ダブリンの文字列が私の文字列と一致しません。アセットフォルダのテキストファイルから取得しました。 は、ここで私は、文字列入力ストリームから作成された文字列がif文で一致しない

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文の前にダブリンを出力しますが、内部に達することはありませんを比較するのはここで私は、文字列

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; 

を得たコードです。 ありがとう

+1

あなたは「それはダブリンを印刷する」と言っていますが、「ダブリンを印刷していますか? 'd'は大文字か小文字ですか? –

+0

申し訳ありませんが、ダブリンを印刷して今すぐ変更します。 –

+1

equalsIgnoreCaseを試して文字列をトリミングしましたか? –

答えて

0

私はこの問題を解決しました。文字列の長さを調べることで、長さが6になるはずの長さが7になったと言いました。テキストファイルをANSIではなくUTF-8として保存しました。私がそれを変更したとき、長さは6で、プログラムはうまくいきました。

関連する問題