1. 程式人生 > >【java】 一個讀取配置檔案的類

【java】 一個讀取配置檔案的類

/**
 * <p>Title:InitConfig.java</p>
 * <p>Description:</p>
 * @author songrongkai
 * @date  2018年7月29日
 * @version 1.0
 */
package com.candyshop.utils.util;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

import org.apache.commons.lang.StringUtils;

/**
 * <p>
 * Title: InitConfig
 * </p>
 * <p>
 * Description:
 * </p>
 * 
 * @author sonrongkai
 * @date 2018年7月29日
 */
public class InitConfig extends HttpServlet {
	private static java.util.Properties prop;
	private static final org.slf4j.Logger LOGGER = org.slf4j.LoggerFactory
			.getLogger(InitConfig.class);

	@Override
	public void init(ServletConfig config) throws ServletException {
		String configFIleString = config.getInitParameter("configFIle");
		prop = new java.util.Properties();
		FileInputStream in = null;
		InputStreamReader isr = null;
		if (StringUtils.isNotBlank(configFIleString)) {
			try {
				in = new FileInputStream(configFIleString);
				isr = new InputStreamReader(in, "UTF-8");
				prop.load(isr);
				;
			} catch (Exception e) {
				LOGGER.error(e.getLocalizedMessage(), e);
			} finally {
				if (null != isr) {
					try {
						isr.close();
					} catch (IOException e2) {
						LOGGER.error("IO異常" + e2.getMessage());
					}

				}
				if (null != in) {
					try {
						in.close();
					} catch (IOException e2) {
						LOGGER.error("IO異常" + e2.getMessage());
					}

				}
			}

		}
	}

	public static String getConfig(String key) {
		return prop.getProperty(key);
	}

}

專案裡是直接用InitConfig.getConfig 獲取配置檔案裡的資訊的。 我找了半天也沒有找到到底是在哪初始化的, 笑哭~ 用的是民生銀行自己的內部框架 Firefly 和tesla