其實讀取屬性文件很簡單,也就是幾行代碼的事,但是最近我做項目是發現多線程併發時會有很多問題,所以自己用單例模式寫了一個多線程併發的安全讀取類,與大家共享一下,以下是代碼 :
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 +"】 文件是否存在。");
}
}
}