Java:读取未知数量的属性

时间:2011-09-13 17:02:45

标签: java properties

我将Java属性文件定义为:

Property.1=value1
Property.2=value2
...

这里可以有任意数量的房产。

我熟悉如何阅读和使用Java属性,但是当我不知道它们的数量时,我不确定如何编写读取属性的代码。我对伪代码的想法是这样的:

// Somehow get the number of properties
for (int i=0; i<properties.size(); i++ {
   prop.getProperty("Property"+i);
...
}

有谁知道如何阅读可变数量的属性?

3 个答案:

答案 0 :(得分:6)

如果您的属性按照示例建议顺序编号:

int i = 1;
String p;
while ((p = prop.getProperty("Property."+i)) != null) {
  // property #i has value p
  i++;
}

答案 1 :(得分:1)

java.util.Properties类可以从输入流加载。

http://download.oracle.com/javase/6/docs/api/java/util/Properties.html#load%28java.io.InputStream%29

只需从文件传递一个新的Properties对象输入流,然后滚动它。

答案 2 :(得分:1)

您可能需要查看Commons Collections类ExtendedProperties及其方法subset

这允许您获得具有给定前缀的所有属性(例如,'Property。')