zhyiwww
          用平實(shí)的筆,記錄編程路上的點(diǎn)點(diǎn)滴滴………
          posts - 536,comments - 394,trackbacks - 0
          <2007年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          -------------------------------------------
          崇尚原創(chuàng)精神,
          文章歡迎轉(zhuǎn)載,
          請您注明出處,
          在此特別聲明。
          版權(quán)所有@zhyiwww
          引用鏈接
          http://www.aygfsteel.com/zhyiwww

          --------------------------------------------

          常用鏈接

          留言簿(33)

          隨筆分類(626)

          朋友的博客

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 1561161
          • 排名 - 11

          最新評論

          閱讀排行榜

          評論排行榜

          我們經(jīng)常使用.properties文件作為配置文件,所以大部分的時(shí)候,我們只是load,然后讀取其配置屬性.
          但是,有的時(shí)候,我們可能也需要?jiǎng)討B(tài)的更新配置,那么怎么來實(shí)現(xiàn)對properties配置文件的更新操作呢.
          這個(gè)問題其實(shí)很簡單,我們先看讀操作:
          Properties p;
          ??? ??? try {
          ??? ??? ??? p = PropertiesReader
          ??? ??? ??? ??? ??? .readProperties("org/zy/common/parse/util/config.properties");
          先載入配置文件,
          String javaHome = p.getProperty("JAVA_HOME"));
          通過getProperty()方法和關(guān)鍵字來實(shí)現(xiàn)屬性的檢索和返回.
          那么,如何寫?
          多的時(shí)候我們知道,我們首先要讀我們的配置文件流,那么寫的時(shí)候,我們也要先得到一個(gè)寫文件流.
          由于是文本文件,所以我們使用FileWriter.
          String path =p.getClass().getResource("/org/zy/common/parse/util/config.properties").getPath();
          Writer w=new FileWriter(path);
          此時(shí),我們已經(jīng)準(zhǔn)備好了,要把更新的屬性寫到哪里,那么,如何寫?
          有的時(shí)候,可能你是要更新某個(gè)屬性,有的時(shí)候,可能你要添加一個(gè)屬性.
          可能你會使用w.write()方法來實(shí)現(xiàn)寫操作,沒有問題,但是,你以前的配置就完全沒有了,如果想保留的話,就只有完全寫一個(gè)新的文件.這中方法,對于更新某個(gè)屬性的值來說就稍微的麻煩一點(diǎn).當(dāng)然,可以用正則表達(dá)式來實(shí)現(xiàn).
          其實(shí)properties本身也給我們提供了方法.

          p.setProperty("bb", "bb update string");
          ??? ??? ??? p.store(w,"bb");??? ???
          ??? ??? ??? w.close();
          我們可以讀屬性,就可以設(shè)置屬性.
          setProperty()方法就可以實(shí)現(xiàn).
          但是此時(shí)的更新只是在內(nèi)存中,并沒有寫如文件.要寫入文件的話,就要調(diào)用store()方法.此時(shí),我們關(guān)閉輸出流的話,數(shù)據(jù)已經(jīng)持久化到了文件.
          setProperty()中,如果你的屬性是文件里面沒有的屬性,那么,系統(tǒng)會進(jìn)行追加操行,如果你的屬性,在系統(tǒng)中已經(jīng)存在,那么系統(tǒng)就會進(jìn)行更新操作.
          例如:
          你的配置文件是:
          a=a
          b=b
          c=c
          那么,如果你
          p.setProperty("d","d");
          那么,結(jié)果就是:
          a=a
          b=b
          c=c
          d=d
          如果你執(zhí)行
          p.setProperty("a","d");
          那么,結(jié)果就是:
          a=d
          b=b
          c=c



          |----------------------------------------------------------------------------------------|
                                     版權(quán)聲明  版權(quán)所有 @zhyiwww
                      引用請注明來源 http://www.aygfsteel.com/zhyiwww   
          |----------------------------------------------------------------------------------------|
          posted on 2007-08-02 11:26 zhyiwww 閱讀(1824) 評論(0)  編輯  收藏 所屬分類: java basic
          主站蜘蛛池模板: 南充市| 三门县| 南涧| 沧源| 宜良县| 江都市| 社旗县| 岢岚县| 鲁山县| 达州市| 家居| 九龙城区| 潜山县| 河北省| 洛阳市| 麻江县| 峨边| 探索| 东乡县| 横山县| 康马县| 芮城县| 华容县| 泾川县| 永寿县| 鄂托克前旗| 子洲县| 历史| 呼玛县| 元阳县| 多伦县| 广汉市| 建瓯市| 三亚市| 泽州县| 抚顺县| 任丘市| 桦南县| 保定市| 东乌| 赤水市|