天天看點

使用Properties類讀取項目外的配置檔案

最近公司要在一套伺服器上搭建兩個環境,為了節約成本,用到了阿裡的docker,運維主管建議我們将配置檔案分離出來,基本可以結束上線即通宵的生活了。

這裡是工具類,有用到的大兄弟可以根據自己的需求改一下。

import org.apache.commons.codec.binary.Base64;

import java.io.FileReader;

import java.io.IOException;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Properties;

public class InitParams {

private Properties properties = new Properties();

private String uri = "";

public InitParams(String uri){
    this.uri = uri;
}

/**
 * 加載配置檔案
 * @throws IOException
 */
public void init() throws Exception {
    Properties proper = new Properties();
    proper.load(new FileReader("/data/web_kuaihuo/jar/config"+uri));  //配置檔案讀取uri

    Map<String,String> map=new HashMap<String,String>();
     Iterator<Object> keys = proper.keySet().iterator();
     while(keys.hasNext()) {
         String key= (String)keys.next();
         if(proper.getProperty(key)!=null){
             map.put(key, proper.getProperty(key).toString());
         }
    }
    proper.putAll(map);
    properties.putAll(proper);

}
public Properties getProperties() {
    try {
        init();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return properties;
}

public void setProperties(Properties properties) {
    this.properties = properties;
}
private final static Base64 BASE64=new Base64();
           

}

繼續閱讀