<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
    主站蜘蛛池模板: 国产成人高清亚洲一区91| 日本最新免费不卡二区在线| 国产网站在线免费观看| 亚洲人xxx日本人18| 1000部国产成人免费视频| 亚洲AV日韩AV天堂一区二区三区 | 国产精品国产亚洲精品看不卡| 色婷婷综合缴情综免费观看| 亚洲国产一级在线观看| 特黄特色的大片观看免费视频| www.亚洲色图| 国产精品免费在线播放| 亚洲精品成人网站在线观看| 日本一道本不卡免费| 亚洲综合国产精品| 91久久成人免费| 国产v亚洲v天堂a无| 国产猛烈高潮尖叫视频免费| 色屁屁www影院免费观看视频 | 日本红怡院亚洲红怡院最新| 国内少妇偷人精品视频免费| 久久精品国产亚洲77777| 最近免费中文字幕大全视频 | 日本免费高清一本视频| 免费无遮挡无码视频在线观看| 久久综合亚洲色HEZYO国产| 色www永久免费网站| 亚洲男人电影天堂| 国产精品嫩草影院免费| 国产真人无码作爱免费视频| 亚洲精品在线网站| 日韩成人免费视频播放| 一级特黄录像免费播放肥| 亚洲视屏在线观看| 日本xxwwxxww在线视频免费| 国产在线观a免费观看| 亚洲首页在线观看| 国产hs免费高清在线观看| 国产好大好硬好爽免费不卡| 国产精品亚洲综合五月天| 亚洲裸男gv网站|