2014-10-10 127 views
0

我有具有像负载从属性选择性属性文件基于键值

xxx.key1 = value1 
xxx.key2 = value2 

yyy.key3 = value3 
yyy.key4 = value4 

'xxx''yyy'可以被认为是2名不同的命名空间值的属性文件。 如何加载属性文件,以便我只能加载'xxx''yyy'的属性?

+0

为什么不使用两个独立的属性文件? – 2014-10-10 18:02:13

+0

我们希望将用户必须配置的文件数量保持为1.另外,配置分散在多个位置 – zer0Id0l 2014-10-10 18:05:00

回答

0

只读取文件的每一行,并只回拉与该命名空间匹配的值。

Scanner scan = new Scanner(new File("yourfilepath")); 
Map<String,String> map = new HashMap<String, String>(); 
String value = ""; 
while(scan.hasNext()) 
{ 
    value = scan.nextLine(); 
    if(value.indexOf("xxx") != -1) 
    { 
     map.put(value.split(" = ")[0], value.split(" = ")[1]); 
    } 
} 

//now map has your key value pairs 

如果你的属性是这样

xxx.key1 =值 然后在拆分( “=”)(无空格)