Java Spring属性文件值作为数组

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

我使用的是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] --> 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”完成。你的在哪里?