隨筆-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  }
             該方法實現(xiàn)了對屬性文件參數(shù)的修改。
          posted on 2005-08-02 15:41 jam 閱讀(5188) 評論(0)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 绥德县| 吴忠市| 荔浦县| 保靖县| 河东区| 南充市| 澜沧| 十堰市| 忻州市| 保靖县| 六盘水市| 东光县| 郧西县| 德州市| 乐昌市| 枣阳市| 读书| 大同市| 大厂| 泸西县| 施甸县| 宝丰县| 四平市| 通州区| 安康市| 新昌县| 霸州市| 浪卡子县| 陕西省| 滁州市| 汾阳市| 吴川市| 平安县| 五河县| 通海县| 商南县| 大荔县| 福海县| 阜阳市| 黑山县| 万荣县|