java讀取配置文件

http://www.cnblogs.com/Henry_zp/archive/2010/12/05/1896909.html


一般來說,首頁的內容比較多,但內容大多也有重複的地方,比如說某幾塊內容都是文章,只是文章類別不同,或者說某幾塊都是商品,只是商品的分類不同,那麼我們在後臺取數據時,都需要根據類別ID來取值的。通常的做法都是寫死ID,但寫死又分爲三種情況:

      1、前臺寫死ID,通過<jsp:include page="xx.do?id=xx">,可以進行動態的包含內容。

      2、可在service層寫一個id的數組,String[] ids = {“”,"",""};用ids數組的下標來獲得id值,這樣也可以實現,如果數據庫的ID值發生改變,只需要改變service層的ID數組就行。

      3、用配置文件(這個配置文件以.properties結尾)。將ID值寫在配置文件中,表示的方法就和map一樣,key=value,這樣就OK。

      下面我要說的是第三種方案,個人覺得第三種方案比第二種方案好,因爲第二種方案改數據時,去找的話,有點不太方便。 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.test.dao;
 
import java.util.MissingResourceException;
import java.util.ResourceBundle;
 
/**
 * 獲取配置資源文件 [公共參數] 信息
 * @author Henry_zp
 */
public class CommonParam {
    private String propertyFileName;
    private ResourceBundle resourceBundle;
    public CommonParam() {
        propertyFileName = "com/test/dao/SysConfig";
        resourceBundle = ResourceBundle.getBundle(propertyFileName);
    }
    public String getString(String key) {
        if (key == null || key.equals("") || key.equals("null")) {
            return "";
        }
        String result = "";
        try {
            result = resourceBundle.getString(key);
        } catch (MissingResourceException e) {
            e.printStackTrace();
        }
        return result;
    }
}
   

 

       這裏配置文件的地址一定要寫對,不然就會報錯。SysConfig.properties裏面的內容是:

1
2
#測試一
NewsId=002

       #表示註釋,最後這個文件要以UTF-8的編碼來保存。

       測試代碼如下:

1
2
3
4
5
6
7
8
package com.test.dao;
 
public class Test {
    public static void main(String[] args) {
       CommonParam test = new CommonParam();
       System.out.println(test.getString("NewsId"));
}
}

 

 

         輸出的結果爲:002。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章