讀取配置文件,單例實現

/**
 * 讀取應用配置文件,單例實現
 * @author Administrator
 *
 */
public class AppConfig {
    /**
     * 定義一個變量來存儲建立好的類實例,直接在這裏建立類實例,只會建立一次
     */
    private static AppConfig instance = new AppConfig();
    /**
     * 定義一個方法來爲客戶端提供AppConfig類的實例
     * @return 一個AppConfig的實例
     */
    public static AppConfig getInstance(){
        return instance;
    }
    /**
     * 讀取配置文件參數A
     */
    private String parameterA;
    /**
     * 讀取配置文件參數B
     */
    private String parameterB;
    
    public String getParameterA() {
        return parameterA;
    }

    public void setParameterA(String parameterA) {
        this.parameterA = parameterA;
    }

    public String getParameterB() {
        return parameterB;
    }

    public void setParameterB(String parameterB) {
        this.parameterB = parameterB;
    }
    /**
     * 私有化構造方法
     */
    private  AppConfig() {
        readConfig();
    }
    /**
     * 讀取配置文件,把配置文件中的內容讀出來設置到屬性上
     */
    private void readConfig() {
        Properties p = new Properties();
        InputStream in = null;
        try {
            in = AppConfig.class.getResourceAsStream("AppConfig.properties");
            p.load(in);
            this.parameterA = p.getProperty("paramA");
            this.parameterB = p.getProperty("paramB");
        } catch (IOException e) {
            System.out.println("轉載配置文件出錯了,具體堆棧信息以下:");
            e.printStackTrace();
        }
        finally{
            try {
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

}
測試

配置文件以下:AppConfig.propertiesthis

paramA=a
paramB=b
spa

/**.net

編寫客戶端代碼進行測試,代碼以下get

**/
io

public class Client {
    public static void main(String[] args) {
        AppConfig config = AppConfig.getInstance();
        String paramA = config.getParameterA();
        String paramB = config.getParameterB();
        System.out.println("paramA="+paramA+",paramB="+paramB);
        
    }

}
class

相關文章
相關標籤/搜索