<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
    主站蜘蛛池模板: 国产一级一片免费播放| 四虎影视永久免费观看网址| 久久久久亚洲精品影视| 九九热久久免费视频| 国产亚洲精品激情都市| 二个人看的www免费视频| 国产亚洲精品国看不卡| 日韩免费的视频在线观看香蕉| 五月天网站亚洲小说| 亚欧免费视频一区二区三区| 亚洲av成人综合网| 精品久久洲久久久久护士免费 | 免费国产va在线观看| 国产一区二区三区免费看| 黄色三级三级三级免费看| 国产AⅤ无码专区亚洲AV| 国产成人一区二区三区视频免费| 亚洲色图古典武侠| 成年女人视频网站免费m| 啦啦啦完整版免费视频在线观看 | 亚洲综合国产成人丁香五月激情| 好吊妞998视频免费观看在线| 国产精品国产亚洲区艳妇糸列短篇| 久久久久国产精品免费网站| 亚洲系列中文字幕| 久久久久久久岛国免费播放| 亚洲欧洲在线播放| 日本一区二区三区日本免费| 毛片基地看看成人免费| 亚洲黄色在线视频| 国产99视频精品免费视频7| 两个人日本免费完整版在线观看1| 久久被窝电影亚洲爽爽爽| 国产成人精品免费视频大全麻豆| 亚洲欧洲无码一区二区三区| 国产成人A亚洲精V品无码| 色影音免费色资源| 污视频网站在线观看免费| 久久亚洲美女精品国产精品 | 亚洲精品成人网站在线观看| 性xxxxx免费视频播放 |