配置属性使用相同的密钥创建数组/列表

Mik*_*cki 8 java arrays configuration properties

我想在配置文件中存储html选择框的源代码.这些包含一个冗长的字符串,不经常更改(但偶尔会改变):

  • Lorem ipsum坐在那里.1
  • Lorem ipsum坐在那里.2
  • Lorem ipsum坐在那里.3
  • Lorem ipsum坐在那里.4

我已经使用了commons-configuration.是否可以在某种配置对象(XMLConfiguration,HierarchicalConfiguration等)中使用相同的属性键存储它们?我的意思是能够使用类似于getStringArray()(或列表)的界面一次性检索它们吗?例:

// reject.reason = Lorem ipsum sit amet nr. 1
// reject.reason = Lorem ipsum sit amet nr. 2
// reject.reason = Lorem ipsum sit amet nr. 3
// reject.reason = Lorem ipsum sit amet nr. 4

config.getStringArray(reject.reason)
Run Code Online (Sandbox Code Playgroud)

我不想让它们在同一条线上分开,因为,首先,原因是冗长的,其次,有很多原因(> 10).

我也不想将它们存储在枚举中,b/c如果不重新编译代码就无法更改它们.

有关如何实现这一目标的任何提示?

dog*_*ane 13

你的例子对我来说很好看.如果使用相同的键指定值列表,则将它们视为列表,并且以下内容应该起作用:

reject.reason = Lorem ipsum sit amet nr. 1
reject.reason = Lorem ipsum sit amet nr. 2
reject.reason = Lorem ipsum sit amet nr. 3
reject.reason = Lorem ipsum sit amet nr. 4
Run Code Online (Sandbox Code Playgroud)

在您的Java代码中:

PropertiesConfiguration config = new PropertiesConfiguration("gui.properties");
String[] reasons = config.getStringArray("reject.reason");
Run Code Online (Sandbox Code Playgroud)

http://commons.apache.org/configuration/userguide/howto_properties.html#Lists_and_arrays