在java属性文件中表示数组的更好方法

2022-08-31 16:12:02

我目前正在制作一个.properties文件,该文件需要加载并转换为数组。但是,每个属性密钥都有可能在0-25个之间存在。我尝试了一些实现,但我只是坚持干净利落地做到这一点。有人有什么想法吗?

foo.1.filename=foo.txt
foo.1.expire=200

foo.2.filename=foo2.txt
foo.2.expire=10

etc more foo's

bar.1.filename=bar.txt
bar.1.expire=100

其中,我将文件名/过期对组合到一个数据对象中,作为每个父属性元素的数组的一部分,例如foo[myobject]

属性文件的格式可以更改,我对想法持开放态度。


答案 1

我可以建议使用分隔符并使用

String.split(delimiter)

示例属性文件:

MON=0800#某物#某物1, 某事2

prop.load(new FileInputStream("\\\\Myseccretnetwork\\Project\\props.properties"));
String[]values = prop.get("MON").toString().split("#");

希望有所帮助


答案 2

没有完全理解你的意图。请检查Apache Commons配置库 http://commons.apache.org/configuration/

您可以对一个键有多个值,如 key=value1,value2,您可以将此值读入数组中configuration.getAsStringArray("key")