/**
* 讀取應用配置文件,單例實現
* @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=bspa
/**.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