2012-01-18 188 views
0
Properties segmentClients = new Properties(); 
segmentClients.load(new FileInputStream(pathSegmentFile)); 

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

文件是這樣的:Properties.containsKey返回false,爲什麼?

# 01.2012 
9202599784 
9202599573 
9208552001 
9209374107 
9209374949 

strANI = 9202599784

爲什麼它返回false?

UPD:問題是,文件是Unicode的,在ANSI保存後開始工作

+2

這不是一個屬性文件... – skaffman 2012-01-18 14:09:52

+0

一個簡短而完整的程序演示問題將真正幫助... – 2012-01-18 14:13:03

+1

@skaffman我有點同意,雖然在技術上所有這些數字只是鍵爲空字符串。不是一個有用的屬性文件,但... – 2012-01-18 14:21:48

回答

3

segmentClients.containsKey("9202599784");將返回true,因爲:

在屬性列表中每個鍵及其對應值是一個字符串。

證明,本次測試將通過:

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

,即不是一個'整數' – skaffman 2012-01-18 14:12:26

+0

strANI是一個字符串,它=「9202599784」 – VextoR 2012-01-18 14:13:05

+0

感謝您的幫助,問題是該文件是Unicode保存在ANSI後 - 現在工作! – VextoR 2012-01-18 14:17:37

0

如果屬性文件中找到並打開您應該檢查。

相關問題