在程序中遇到這個,感覺會比較重要,就學習一番。
一:靜態讀取配置文件的Demo
1.新建工程
2.新建properties
3.新建Java的demo程序
注意不要寫properties。
1 package com.jun.it; 2 3 import java.util.ResourceBundle; 4 5 public class ResourceBundleDemo { 6 /** 7 * 測試ResourceBundle.getBundle 8 * @param args 9 */ 10 public static void main(String[] args) { 11 ResourceBundle resourceBundle=ResourceBundle.getBundle("project"); 12 System.out.println(resourceBundle.getString("projectName")); 13 } 14 15 }
4.效果
二:國際化讀取文件
1.新建兩個properties
2.新建測試類
1 package com.jun.it; 2 3 import java.util.ResourceBundle; 4 5 public class ResourceBundleDemo { 6 /** 7 * 測試ResourceBundle.getBundle 8 * @param args 9 */ 10 public static void main(String[] args) { 11 //基本的使用 12 ResourceBundle resourceBundle=ResourceBundle.getBundle("project"); 13 System.out.println(resourceBundle.getString("projectName")); 14 //國際化的使用 15 ResourceBundle resourceBundle2=ResourceBundle.getBundle("hello_zn"); 16 System.out.println(resourceBundle2.getString("hello")); 17 } 18 19 }
3.效果
三:介紹
1.作用
java的ResourceBundle類是用來讀取properties的資源文件的,很多國際化操作都使用該類。
2.靜態讀取與動態讀取
我們可以在每個對象中用ResourceBundle來讀配置文件設置自己的值,也可以用一個固定的對象去讀取然后保存下來以便以后使用。
在每個class中都去讀配置文件會導致代碼散亂,所以,只用一個class來進行讀取是比較合理的做法。
另外,由於I/O的速度比較慢,如果負責讀取配置文件的class是在每次用到這些配置項的時候去讀文件,就容易成為性能上的瓶頸。
為避免這樣的情況,可以在初始化的時候就把配置項一次全部讀入,並保存在靜態成員變量中。
不過:
不排除會有對配置項進行動態讀取的需求(因為某些應用是不能停掉的,比如應用服務器。在這些應用運行期間更新了配置文件,就需要在不不關閉應用的情況下重新讀入配置項)。
以下的例子只考慮了靜態讀取的情況,如果是動態讀取,則可以把讀取配置文件的代碼放到某個方法中,通過對某個事件的響應來調用該方法更新配置項。