Properties segmentClients = new Properties();
segmentClients.load(new FileInputStream(pathSegmentFile));

segmentClients.containsKey(strANI); //returns false / strANI = "9202599784"


文件是这样的:

# 01.2012
9202599784
9202599573
9208552001
9209374107
9209374949


strANI = 9202599784

为什么返回假?

UPD:问题在于在ANSI中保存后文件开始使用Unicode

最佳答案

segmentClients.containsKey("9202599784");将返回true,因为:


  属性列表中的每个键及其对应的值都是一个字符串。


证明,此测试将通过:

Properties p = new Properties();
p.load(new StringBufferInputStream("# 01.2012\n" +
                "9202599784\n" +
                "9202599573\n"));
assertTrue(p.containsKey("9202599784"));

10-08 19:33