隨筆-9  評論-15  文章-1  trackbacks-0
              用Java寫properties文件時,如果直接用setProperties和store方法往FileOutputStream寫,寫出來的東西面目全非了。沒有正確的格式。因此我使用了這個方法來寫,一行一行的讀。一行一行地寫。
            1/**
            2   * write property.
            3   * @param title parameter defined in properties file
            4   * @param key parameter defined title value
            5   * @return String return value
            6   */

            7  String writeProp(String filePath, String fileName, String title, String key,
            8                   Logger logger) {
            9
           10    String strResult = "";
           11    String pathAddFile = ""//write file with path and name
           12    String tempFile = "";
           13    String strTemp = ""//use for identify if the modify is success
           14    //filePath is null the file in the default path ,else file in the filePath+\+fileName
           15    if (filePath.equals("")) {
           16      pathAddFile = fileName;
           17      tempFile = "temp.properties";
           18    }

           19    else {
           20      pathAddFile = filePath + systemSeparator + fileName;
           21      tempFile = filePath + systemSeparator + "temp.properties";
           22    }

           23    //properties file
           24    File aFile = new File(pathAddFile);
           25    //temp file
           26    File tFile = new File(tempFile);
           27    if (!aFile.exists()) {

           31      strResult = "error";
           32      return strResult;
           33    }

           34    //set property to properties
           35    try {
           36      FileReader fr = new FileReader(pathAddFile);
           37
           38      BufferedReader br = new BufferedReader(fr);
           39      try {
           40        FileWriter fw = new FileWriter(tempFile);
           41        PrintWriter out = new PrintWriter(fw);
           42
           43        String strLine = br.readLine().trim();
           44        while (strLine != null{
           45          //identify if strLine have title,have change key
           46          if (strLine.startsWith(title)) {
           47            strLine = title + "=" + key;
           48            strTemp = "1";
           49          }

           50          out.write(strLine);
           51          out.println();
           52          out.flush();
           53          //read next line
           54          strLine = br.readLine();
           55        }

           56        fw.close();
           57        out.close();
           58        //close BufferedReader object
           59        br.close();
           60         //close file
           61        fr.close();
           62        //delete properties file
           63        if (aFile.exists()) {
           64          if (!aFile.delete()) {
           68            return "error";
           69          }

           70        }

           71        //rename temp file to properties file
           72        if (!tFile.exists()) {
           76          return "error";
           77        }

           78        tFile.renameTo(aFile);
           79        if (!strTemp.equals("1")) {
           80          //there is no title prop exit so modify failed
           85          strResult = "error";
           86
           87        }

           88        return strResult;
           89      }

           90      catch (IOException ex2) {
           91        ex2.printStackTrace();
           92        strResult = "error";
           93        logger.fatal(
           94            "CmnEToyotaExtractProp ----- writeProp ----- failed !");
           95        return strResult;
           96
           97      }

           98    }

           99    catch (FileNotFoundException ex1) {
          100      ex1.printStackTrace();

          103      strResult = "error";
          104      return strResult;
          105    }

          106
          107  }
             該方法實現了對屬性文件參數的修改。
          posted on 2005-08-02 15:41 jam 閱讀(5188) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 西和县| 镇巴县| 宜良县| 蛟河市| 紫云| 汝南县| 军事| 乌恰县| 阿尔山市| 都兰县| 石嘴山市| 江城| 延吉市| 鄂尔多斯市| 海兴县| 桐庐县| 科技| 凤冈县| 钟山县| 蓝山县| 永泰县| 航空| 民勤县| 德格县| 寻乌县| 朔州市| 镇远县| 五原县| 中山市| 昌黎县| 炎陵县| 鄂尔多斯市| 乌恰县| 高淳县| 固始县| 修文县| 大竹县| 长海县| 枞阳县| 公主岭市| 崇义县|