027 ResourceBundle.getBundle方法


  在程序中遇到這個,感覺會比較重要,就學習一番。

一:靜態讀取配置文件的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是在每次用到這些配置項的時候去讀文件,就容易成為性能上的瓶頸。

  為避免這樣的情況,可以在初始化的時候就把配置項一次全部讀入,並保存在靜態成員變量中。

  不過:

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM