从输入流创建的字符串在if语句中不匹配

时间:2016-11-15 00:44:13

标签: java android inputstream

由于某些原因,我的都柏林语字符串与我从我的资源文件夹中的文本文件中获取的字符串不匹配。 这是我获取字符串

的代码
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 个答案:

答案 0 :(得分:0)

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