027 ResourceBundle.getBundle方法

  在程序中遇到這個,感受會比較重要,就學習一番。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是在每次用到這些配置項的時候去讀文件,就容易成爲性能上的瓶頸。

  爲避免這樣的狀況,能夠在初始化的時候就把配置項一次所有讀入,並保存在靜態成員變量中。

  不過:

  不排除會有對配置項進行動態讀取的需求(由於某些應用是不能停掉的,好比應用服務器。在這些應用運行期間更新了配置文件,就須要在不不關閉應用的狀況下從新讀入配置項)。

  如下的例子只考慮了靜態讀取的狀況,若是是動態讀取,則能夠把讀取配置文件的代碼放到某個方法中,經過對某個事件的響應來調用該方法更新配置項。

相關文章
相關標籤/搜索