Java Spring属性文件值作为数组
我使用的是SpringFramework 4.3.5 以下是我在config.properties中的值Java Spring属性文件值作为数组,java,spring,Java,Spring,我使用的是SpringFramework 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台服务器 我需要将所有这些加载到一个二维数组中,然后像这样访问它 server[0][0] --> i
purgefile.server1.ip=host1.com
purgefile.server1.username=user1
purgefile.server1.password=pwd1
purgefile.server1.script=$HOME/purge.sh
像这样有16台服务器
我需要将所有这些加载到一个二维数组中,然后像这样访问它
server[0][0] --> ip
server[0][1] --> username
server[0][2] --> password
server[0][3] --> script
有什么建议吗?@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] + ")");
}
}
}
public类PurgeFileConfig{
公共静态void main(字符串[]args)引发异常{
资源资源=新类路径资源(“/config.properties”);
Properties props=PropertiesLoaderUtils.loadProperties(资源);
int size=Integer.parseInt(props.getProperty(“purgefile.server.count”);
字符串[][]purgeFile=新字符串[size][4];
for(条目:props.entrySet()){
String key=(String)entry.getKey();
String value=(String)entry.getValue();
if(key.startsWith(“purgefile”)){
字符串[]keyList=key.split(“\\”);
如果(!keyList[2]。等于(“计数”)){
intidx=Integer.parseInt(keyList[2])-1;
if(键列表[3]。等于(“ip”))
purgeFile[idx][0]=value.trim();
else if(键列表[3]。等于(“用户名”))
purgeFile[idx][1]=value.trim();
else if(键列表[3]。等于(“密码”))
purgeFile[idx][2]=value.trim();
else if(键列表[3].equals(“脚本”))
purgeFile[idx][3]=value.trim();
}
}
}
用于(字符串[]临时:purgeFile){
系统输出打印项次(“+temp[0]+”(+temp[1]+”(+temp[2]+”(+temp[3]+”)”);
}
}
}
这可以通过“code”完成。你的在哪里?