<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 破繭而出 閱讀(562) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 久久国产免费直播| 亚洲人成网站免费播放| 成在线人直播免费视频| 女人张开腿给人桶免费视频| 亚洲精品高清国产麻豆专区| 精品无码一级毛片免费视频观看 | 亚洲色成人中文字幕网站| 又粗又大又黑又长的免费视频| 亚洲精品无码久久久久| 中文字幕视频在线免费观看| 亚洲日产韩国一二三四区| 日本免费A级毛一片| 亚洲激情中文字幕| 亚洲一区免费视频| 亚洲狠狠ady亚洲精品大秀| 国产91免费在线观看| 国产精品高清视亚洲一区二区| 嫩草影院免费观看| 黄网站色视频免费观看45分钟| 亚洲精品亚洲人成在线观看下载| CAOPORM国产精品视频免费| 日韩亚洲人成在线综合日本| 免费无码成人AV在线播放不卡| 亚洲国产高清美女在线观看| 久久不见久久见免费影院| 男人的天堂av亚洲一区2区| 亚洲一级特黄大片在线观看| 少妇性饥渴无码A区免费 | 亚洲国产av美女网站| 免费看少妇作爱视频| 丰满少妇作爱视频免费观看| 亚洲春色在线视频| 毛片在线看免费版| 一区在线免费观看| 亚洲特级aaaaaa毛片| 亚洲AV无码乱码在线观看牲色| 亚洲中字慕日产2020| 免费精品国产自产拍观看| 色www永久免费网站| 国产成人精品日本亚洲18图| 亚洲AV中文无码乱人伦|