<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 108,comments - 56,trackbacks - 0
        很多時候,我們會把一些設置,環境等數據量不大,而且不經常改變的參數寫到配置文件中,然后在程序中讀取這些參數。

        讀取參數是一個很簡單的過程,可以用java.util.Properties來完成。先來看看官方文檔:
      Properties 類表示了一個持久的屬性集。Properties 可保存在流中或從流中加載。屬性列表中每個鍵及其對應值都是一個字符串。 

      一個屬性列表可包含另一個屬性列表作為它的“默認值”;如果未能在原有的屬性列表中搜索到屬性鍵,則搜索第二個屬性列表。 

      因為 Properties 繼承于 Hashtable,所以可對 Properties 對象應用 put 和 putAll 方法。但強烈反對使用這兩個方法,因為它們允許調用方插入其鍵或值不是 Strings 的項。相反,應該使用 setProperty 方法。如果在“有危險”的 Properties 對象(即包含非 String 的鍵或值)上調用 store 或 save 方法,則該調用將失敗。 

      load 和 store 方法按下面所指定的、簡單的面向行的格式加載和存儲屬性。此格式使用 ISO 8859-1 字符編碼。可以使用 Unicode 轉義符來編寫此編碼中無法直接表示的字符;轉義序列中只允許單個 'u' 字符。可使用 native2ascii 工具對屬性文件和其他字符編碼進行相互轉換。 

      loadFromXML(InputStream) 和 storeToXML(OutputStream, String, String) 方法按簡單的 XML 格式加載和存儲屬性。默認使用 UTF-8 字符編碼,但如果需要,可以指定某種特定的編碼。XML 屬性文檔具有以下 DOCTYPE 聲明: 

     
    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
     注意,導入或導出屬性時不 訪問系統 URI (http://java.sun.com/dtd/properties.dtd);該系統 URI 僅作為一個惟一標識 DTD 的字符串: 
        
    <?xml version="1.0" encoding="UTF-8"?>
        
    <!-- DTD for properties -->
        
    <!ELEMENT properties ( comment?, entry* ) >
        
    <!ATTLIST properties version CDATA #FIXED "1.0">
        
    <!ELEMENT comment (#PCDATA) >
        
    <!ELEMENT entry (#PCDATA) >
        
    <!ATTLIST entry key CDATA #REQUIRED>

        寫一個讀取參數的簡單的例子:
    package woxingwosu;

    import java.io.BufferedInputStream;
    import java.io.FileInputStream;
    import java.util.Properties;

    public class ReadProperties {

        
    public static void main(String[] args) {
            
    //對于XML文件一定要符合http://java.sun.com/dtd/properties.dtd
            String name="woxingwosu.xml";
            Properties prop
    =loadFile(name);
            
    if(prop!=null){
                System.out.println(
    "XMl file");
                System.out.println(
    "no="+prop.getProperty("no"));
                System.out.println(
    "name="+prop.getProperty("name"));
            }
            
            
    //對于非XML文件,key與value之間可以用冒號隔開,也可以用空格隔開
            name="woxingwosu.properties";
            prop
    =loadFile(name);
            
    if(prop!=null){
                System.out.println(
    "Properties file");
                System.out.println(
    "no="+prop.getProperty("no"));
                System.out.println(
    "name="+prop.getProperty("name"));
            }
        }
        
        
    /**
         * 加載配置文件
         * 
    @param path        --文件的路徑
         * 
    @param isXmlFile --true:配置文件是XML文件,false:非XML文件
         * 
    @return(Properties)
         
    */
        
    private static Properties loadFile(String path){
            Properties prop
    =null;
            
    try{
                BufferedInputStream inBuff
    =new BufferedInputStream(new FileInputStream(path));
                prop
    =new Properties();
                
    if(path.endsWith(".xml"))
                    prop.loadFromXML(inBuff);
                
    else
                    prop.load(inBuff);
                inBuff.close();
            }
    catch(Exception e){
                e.printStackTrace();
            }
            
    return prop;
        }
    }
        配置文件woxingwosu.xml
    <?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> 
    <properties> 
    <entry key="no">woxingwosu</entry> 
    <entry key="name">我行我素</entry> 
    </properties> 
        配置文件woxingwosu.properties(我用Unicode編碼)
    no:woxingwosu
    name \u6211\u884c\u6211\u7d20

        除了讀取參數,同時也可以修改參數,添加參數,或者生成一個文件,參考一下幫助文檔,其實都很簡單。
    posted on 2007-07-23 18:34 破繭而出 閱讀(549) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 内射少妇36P亚洲区| 亚洲av无码专区国产乱码在线观看| 97在线视频免费| 好看的亚洲黄色经典| 一个人看的www在线免费视频| 免费A级毛片无码A∨男男| 亚洲aⅴ天堂av天堂无码麻豆| 高清国语自产拍免费视频国产| 中文字幕精品三区无码亚洲| 999国内精品永久免费观看| 亚洲精品在线免费看| 18女人水真多免费高清毛片| 亚洲码一区二区三区| 亚色九九九全国免费视频| 亚洲va精品中文字幕| 在线看片人成视频免费无遮挡| 亚洲高清乱码午夜电影网| 国产无遮挡吃胸膜奶免费看| 一级特黄色毛片免费看| 亚洲色精品aⅴ一区区三区| 国产精品网站在线观看免费传媒| 少妇中文字幕乱码亚洲影视 | 妇女自拍偷自拍亚洲精品| 免费大片在线观看网站| jizz18免费视频| 亚洲AV无码乱码在线观看富二代| 4399影视免费观看高清直播| 亚洲精品国产精品| 亚洲综合色婷婷七月丁香| 99ee6热久久免费精品6| 亚洲中文无码永久免费| 亚洲国产小视频精品久久久三级 | 三上悠亚亚洲一区高清| 久久免费视频精品| 亚洲日韩av无码中文| 亚洲一本大道无码av天堂| 精品国产sm捆绑最大网免费站| 久久精品国产亚洲AV| 亚洲AV无码乱码在线观看富二代 | 亚洲精品欧洲精品| 四虎永久在线精品免费影视|