属性文件中的属性键名称

时间:2013-11-17 09:11:02

标签: java

如果我的属性文件中有以下属性,我该如何获取属性键?我知道如何获得价值,但我不知道如何获得密钥?

String myCountry="Australia";

我和我的文件中的其他人一起拥有此属性。我如何获得密钥名称(myCountry)?我想在System.out中显示它,所以我需要它,但我无法弄清楚如何获取密钥名称,请帮忙。

5 个答案:

答案 0 :(得分:4)

属性文件的要点是将可配置值与众所周知的密钥相关联。您应该知道密钥并使用它来查找与密钥关联的可配置值。否则,Properties对象是Map,您可以遍历所有条目:

for (Map.Entry<Object, Object> entry : properties.entrySet()) {
   System.out.prinln(entry.getKey() + " = " + entry.getValue());
}

答案 1 :(得分:0)

为什么要在属性文件中编写String myCountry="Australia";?如果您可以简单地保持myCountry=Australia。而且也不需要写String。 所有属性文件值均为String

答案 2 :(得分:0)

public Set<String> stringPropertyNames()中有一个方法java.util.Properties,记录为:

  

返回此属性列表中的一组键,其中键及其对应的值是字符串,如果尚未从主属性列表中找到相同名称的键,则包括默认属性列表中的不同键。键或键不是String类型的属性将被省略。

     

返回的集合不受Properties对象的支持。对此属性的更改不会反映在集合中,反之亦然。

     

返回:       此属性列表中的一组键,其中键及其对应的值是字符串,包括默认属性列表中的键。

答案 3 :(得分:0)

java.util.Properties类扩展了java.util.HashTable类,因此有一个keys()方法。您可以使用它来检索文件中使用的所有密钥的列表。

要打印出给定值的键,这样的东西会起作用:

for (Map.Entry<Object, Object> entry : properties.entrySet()) {
   if(entry.getValue().equals("Australia")) {
       System.out.prinln(entry.getKey() + " = " + entry.getValue());
   }
}

这会遍历所有属性作为键值对,直到找到具有正确值的对。

答案 4 :(得分:0)

这也可能会有所帮助:

import java.io.FileInputStream;
import java.util.Enumeration;
import java.util.Properties;

public class MainClass {
  public static void main(String args[]) throws Exception {

    Properties p = new Properties();
    p.load(new FileInputStream("test.txt"));
    Enumeration e = p.propertyNames();

    for (; e.hasMoreElements();) {
      System.out.println(e.nextElement());

    }
  }
}

来源:http://www.java2s.com/Tutorial/Java/0140__Collections/GettingakeyListfromProperties.htm