使用單例模式讀取Properties文件

    其實讀取屬性文件很簡單,也就是幾行代碼的事,但是最近我做項目是發現多線程併發時會有很多問題,所以自己用單例模式寫了一個多線程併發的安全讀取類,與大家共享一下,以下是代碼 :

 

 

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;


/**
 * 讀取Properties屬性文件
 * @author LYF
 */
public class Env extends Properties {

    private static Env instance;

    public static Env getInstance(String path){
        if (instance != null){
            return instance;
        }else {
            makeInstance(path);
            return instance;
        }
    }

    private static synchronized void makeInstance(String path){
        if (instance == null){
            instance = new Env(path);
        }
    }

    private Env(String path){
        InputStream is = getClass().getResourceAsStream(path);
        try {
            load(is);
        } catch (IOException ex) {
            System.err.println("錯誤信息:  讀取屬性文件失敗!");
            System.err.println("請確認 【"+ path +"】 文件是否存在。");
        }
    }

}

發佈了17 篇原創文章 · 獲贊 5 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章