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

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

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

    Open Java Project

    Keep it simple, Stupid, Less is more

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      20 Posts :: 0 Stories :: 12 Comments :: 0 Trackbacks

    JDK1.5(代號Tiger)中更新了java.util.Properties類,提供了從XML文件中讀寫key-value對屬性的簡單方法:loadFromXML()storeToXML()

    1、基本加載屬性的方法

    l         Sample屬性文件:sample.properties

    foo=bar
    fu=baz

    l         加載屬性的Sample程序

    import java.io.FileInputStream;
    import java.util.Properties;
     
    public class LoadSampleProperties {
     
        public static void main(String[] args) throws Exception {
            Properties prop = new Properties();
            FileInputStream fis = new FileInputStream("props/sample.properties");
            prop.load(fis);
            prop.list(System.out);
            System.out.println("\nThe foo property: " + prop.getProperty("foo"));
        }
    }

    l         輸出結果如下:

    -- listing properties --
    fu=baz
    foo=bar
     
    The foo property: bar

     

    2、從XML中加載屬性

    l         下面是Properties 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>

    l         Sample XML屬性文件:sample.xml(符合上面的Properties DTD

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
    <properties>
           <comment>Hello</comment>
           <entry key="foo">bar</entry>
           <entry key="fu">baz</entry>
    </properties>

    l         <entry>標記指定具體一個屬性,由key屬性指定屬性名,而<entry>標記的內容指定屬性值

    l         <comment>標記可以用來指定注釋

    l         XML文件加載屬性的Sample程序

    import java.io.FileInputStream;
    import java.util.Properties;
     
    public class LoadSampleXML {
     
        public static void main(String[] args) throws Exception {
            Properties prop = new Properties();
            FileInputStream fis = new FileInputStream("props/sample.xml");
            prop.loadFromXML(fis);
            prop.list(System.out);
            System.out.println("\nThe foo property: " + prop.getProperty("foo"));
        }
    }

    l         輸出的結果是一樣的

    l         可以看出方法很簡單:使用XML文件來保存屬性,使用loadFromXML()方法替代原來的load()方法來加載XML文件中屬性

     

    3、更新XML文件中的屬性值

    l         Sample程序

    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.util.Properties;
     
    public class UpdateSampleXml {
     
        public static void main(String[] args) throws Exception {
            Properties prop = new Properties();
            FileInputStream fis = new FileInputStream("props/sample.xml");
            prop.loadFromXML(fis);
            prop.list(System.out);
            System.out.println("\nThe foo property: " + prop.getProperty("foo"));
     
            prop.setProperty("foo", "Hello World!");
            prop.setProperty("new-name", "new-value");
            FileOutputStream fos = new FileOutputStream("props/sample.xml");
            prop.storeToXML(fos, "Store Sample");
            fos.close();
     
            fis = new FileInputStream("props/sample.xml");
            prop.loadFromXML(fis);
            prop.list(System.out);
            System.out.println("\nThe foo property: " + prop.getProperty("foo"));
        }
    }

    l         上面的例子加載了sample.xml中的屬性,更新了foo屬性的值,并新加了new-name屬性,調用storeToXML()方法保存到原文件中,并改變注釋內容為Store Sample

    l         程序執行后的sample.xml的內容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
    <properties>
    <comment>Store Sample</comment>
    <entry key="new-name">new-value</entry>
    <entry key="fu">baz</entry>
    <entry key="foo">Hello World!</entry>
    </properties>
    posted on 2005-03-21 13:31 nelson_tu 閱讀(1655) 評論(0)  編輯  收藏 所屬分類: Tiger系列
    主站蜘蛛池模板: 亚洲国产综合精品中文第一区| 免费看美女被靠到爽| 国产日产亚洲系列| 免费一级毛片在线播放放视频| 国产小视频免费观看| 国产亚洲综合久久| 一区二区三区亚洲视频| 永久免费看mv网站入口| 亚洲中文无码永久免| 在线观看免费a∨网站| 亚洲www77777| 久久青草精品38国产免费| 亚洲午夜久久久久妓女影院| 国产中文字幕在线免费观看| 亚洲国产美女精品久久久久∴| 亚洲www在线观看| 中文字幕亚洲不卡在线亚瑟| 色哟哟国产精品免费观看 | 91精品成人免费国产| 亚洲日产无码中文字幕| 久久精品国产免费| 国产成人免费片在线视频观看| www亚洲精品久久久乳| 亚洲福利中文字幕在线网址| 国产成人高清精品免费观看| 亚洲视频在线一区| 成年女人午夜毛片免费看| 国产精品亚洲天堂| 亚洲AV无码不卡在线播放| 国产成人yy免费视频| 国产综合成人亚洲区| 亚洲av综合av一区| 最近的免费中文字幕视频 | 久久免费精品视频| 精品亚洲国产成人| 亚洲国产精品成人AV无码久久综合影院| 国产精品免费视频观看拍拍| 亚洲欧洲国产成人精品| 一本色道久久88综合亚洲精品高清| 国产成人AV免费观看| 亚洲av无码片vr一区二区三区 |