在程序中遇到這個,感受會比較重要,就學習一番。java
一:靜態讀取配置文件的Demo服務器
1.新建工程性能
2.新建properties學習
3.新建Java的demo程序測試
注意不要寫properties。spa
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.效果code
二:國際化讀取文件對象
1.新建兩個propertiesblog
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是在每次用到這些配置項的時候去讀文件,就容易成爲性能上的瓶頸。
爲避免這樣的狀況,能夠在初始化的時候就把配置項一次所有讀入,並保存在靜態成員變量中。
不過:
不排除會有對配置項進行動態讀取的需求(由於某些應用是不能停掉的,好比應用服務器。在這些應用運行期間更新了配置文件,就須要在不不關閉應用的狀況下從新讀入配置項)。
如下的例子只考慮了靜態讀取的狀況,若是是動態讀取,則能夠把讀取配置文件的代碼放到某個方法中,經過對某個事件的響應來調用該方法更新配置項。