1. 程式人生 > >使用Properties類讀取專案外的配置檔案

使用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;

/**
* 讀取配置檔案工具類
*
* 2017-11-29
*/

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();

}