在Java語言中,使用一種以.properties為擴展名的文本文件作為資源文件,該類型的文件的內容格式為類似:
1 |
#注釋語句 some_key=some_value |
形式。以#開頭的行作為注釋行,ResourceBundle類處理時會加以忽略;其余的行可以以 key名=value值 的形式加以記述。這樣的話,一般我們將數據庫的配置文件以這樣的形式展現。
Java的ResourceBundle類可以對這種形式的文件加以處理。
ResourceBundle類的使用方法也非常簡單。我們使用一個例子來說明。
假如我現在有一個數據庫的配置文件,我將它寫為資源文件的樣式,則為:
1 |
#數據庫配置信息 DRIVER=com.mysql.jdbc.Driver URL=jdbc:mysql://localhost:3306/cns user=test password=test |
接下來,我們使用ResourceBundle類處理:
1 |
package Forum; import java.util.*; public class RedProFile { public static void main(String[] a){ String resourceFile = "Forum.CNS"; // 創建一個默認的ResourceBundle對象 // ResourceBundle會查找包Forum下的CNS.properties的文件 // Forum是資源的包名,它跟普通java類的命名規則完全一樣: // - 區分大小寫 // - 擴展名 .properties 省略。就像對於類可以省略掉 .class擴展名一樣 // - 資源文件必須位於指定包的路徑之下(位於所指定的classpath中) // 假如你是在非Web項目中使用,則一定要寫資源文件的路徑,也就是包路徑必須存在。 // 如果是Web項目,不寫包路徑可以,此時將資源文件放在WEB-INF\classes\目錄下就可以。 ResourceBundle rb = ResourceBundle.getBundle(resourceFile); System.out.println(rb.getString("DRIVER"));//這里是分大小寫的,嘿嘿輸出值為jdbc:mysql://localhost:3306/cns } } |
這樣就簡單多了,呵呵
這是我轉來的稍加修改的提取最簡單的部分的,非常感謝原作者。原文見【http://www.lifevv.com/java/doc/20080205000526940.html】
使用ResourceBundle類中的getString進行簡單讀取
,要想實現替換功能,需要使用MessageFormat類中的
public static String format(String pattern,Object... arguments)方法,用時自行百度