我正在使用spring framework 4.3.5。
以下是我在config.properties
中的值purgefile.server1.ip=host1.com
purgefile.server1.username=user1
purgefile.server1.password=pwd1
purgefile.server1.script=$HOME/purge.sh
像这样有16台服务器
我需要将所有这些加载到2维数组中并像
一样访问它server[0][0] --> ip
server[0][1] --> username
server[0][2] --> password
server[0][3] --> script
有什么建议吗?
答案 0 :(得分:0)
@ f1sh我想出了这个。但不确定这是否是正确的方法。
public class PurgeFileConfig {
public static void main(String[] args) throws Exception {
Resource resource = new ClassPathResource("/config.properties");
Properties props = PropertiesLoaderUtils.loadProperties(resource);
int size = Integer.parseInt(props.getProperty("purgefile.server.count"));
String [] [] purgeFile = new String [size][4];
for (Entry<?, ?> entry : props.entrySet()) {
String key = (String) entry.getKey();
String value = (String) entry.getValue();
if (key.startsWith("purgefile.")) {
String [] keyList = key.split("\\.");
if (!keyList[2].equals("count")) {
int idx = Integer.parseInt(keyList[2])-1;
if (keyList[3].equals("ip"))
purgeFile[idx][0] = value.trim();
else if (keyList[3].equals("username"))
purgeFile[idx][1] = value.trim();
else if (keyList[3].equals("password"))
purgeFile[idx][2] = value.trim();
else if (keyList[3].equals("script"))
purgeFile[idx][3] = value.trim();
}
}
}
for (String[] temp : purgeFile) {
System.out.println("(" + temp[0] + ")(" + temp[1] + ")(" + temp[2] + ")(" + temp[3] + ")");
}
}
}