使用Properties類讀取專案外的配置檔案
阿新 • • 發佈:2019-01-31
最近公司要在一套伺服器上搭建兩個環境,為了節約成本,用到了阿里的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();
}