Java Properties.containsKey返回false,为什么?

Java Properties.containsKey返回false,为什么?,java,hashtable,Java,Hashtable,文件如下所示: Properties segmentClients = new Properties(); segmentClients.load(new FileInputStream(pathSegmentFile)); segmentClients.containsKey(strANI); //returns false / strANI = "9202599784" strANI=9202599784 为什么它返回false UPD:问题是文件是Unicode格式的,在ANSI中保存

文件如下所示:

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

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

为什么它返回false


UPD:问题是文件是Unicode格式的,在ANSI中保存后开始工作

segmentClients.containsKey(“9202599784”)将返回true,因为:

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

证明,此测试将通过:

# 01.2012
9202599784
9202599573
9208552001
9209374107
9209374949

您应该检查是否找到并打开了属性文件。

这不是属性文件…一个简短但完整的程序演示这个问题确实会有帮助…@skaffman我有点同意,尽管从技术上讲,所有这些数字都只是空字符串的键。不是一个有用的属性文件,但是…strANI是一个字符串,它=“9202599784”感谢您的帮助,问题是该文件是Unicode格式的,保存在ANSI中后-现在可以工作了!这将是我的下一个猜测(因为您没有得到fileNotFound exp):)
Properties p = new Properties();
p.load(new StringBufferInputStream("# 01.2012\n" +
                "9202599784\n" +
                "9202599573\n"));
assertTrue(p.containsKey("9202599784"));