属性文件键值 - 根据另一个键的值获取一个键的值

时间:2017-02-21 16:45:36

标签: java properties

来自args的输入将是 A100 。我需要在属性文件中检查此值 A100 ,并获取查询publisher,这是另一个键的值。如何检查一个键中的值,并根据它如何获取另一个键的值? view1的多个值(A1000,A200,A300等直到50个视图)将只有一个查询select * from xyz

属性文件:

select * from xyz

代码:

view1 = A1000,A200,A300 

query1 = select * from xyz

view2 = B100,B200,B300

query2 = select * from abc

请就此提出建议。

1 个答案:

答案 0 :(得分:0)

您有什么输入?我打赌你的输入是A1000B2341。然后,此代码String [] mapValue = Properties.getProperty(key).split(",");不正确,因为A1000不是键,而是值。如果是这种情况,最好的办法是预处理属性文件中的所有属性:

Map<String, String> queriesByKeys = new HashMap<>();
for (String key : props.keySet())
{
    if (!key.startsWith("view"))
        continue;

    String queryKey = key.replace("view", "query");
    String queryValue = props.getPropertyValue(queryKey);

    String ids = props.getPropertyValue(key);
    for (String id : ids.split(","))
        queriesByKeys.put(id, queryValue);
}

然后,您可以使用queriesByKeys按ID进行查询。