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"));