【转】Java工具类——资源文件解析类PropertiesUtil

来源:互联网 发布:中传女被害案 知乎 编辑:程序博客网 时间:2024/06/13 21:56

处理Properties文件的另一更佳解决方案:见http://blog.csdn.net/softwave/article/details/6873227《Java的Properties文件操作类》     (摘者按)

package com.luang.util.properties;import java.io.File;import java.io.FileInputStream;  import java.io.FileOutputStream;  import java.io.IOException;  import java.io.InputStream;import java.io.OutputStream;  import java.net.URI;import java.util.Enumeration;  import java.util.HashMap;  import java.util.Map;  import java.util.Properties;  import java.util.ResourceBundle;/** *  * PropertiesUtil.java * * @desc properties 资源文件解析工具 * @author Guoxp * @datatime Apr 7, 2013 3:58:45 PM * */public class PropertiesUtil {        private Properties props;      private URI uri;        public PropertiesUtil(String fileName){          readProperties(fileName);      }      private void readProperties(String fileName) {          try {              props = new Properties();              InputStream fis =getClass().getResourceAsStream(fileName);              props.load(fis);              uri = this.getClass().getResource("/dbConfig.properties").toURI();        } catch (Exception e) {              e.printStackTrace();          }      }      /**      * 获取某个属性      */      public String getProperty(String key){          return props.getProperty(key);      }      /**      * 获取所有属性,返回一个map,不常用      * 可以试试props.putAll(t)      */      public Map getAllProperty(){          Map map=new HashMap();          Enumeration enu = props.propertyNames();          while (enu.hasMoreElements()) {              String key = (String) enu.nextElement();              String value = props.getProperty(key);              map.put(key, value);          }          return map;      }      /**      * 在控制台上打印出所有属性,调试时用。      */      public void printProperties(){          props.list(System.out);      }      /**      * 写入properties信息      */      public void writeProperties(String key, String value) {          try {          OutputStream fos = new FileOutputStream(new File(uri));              props.setProperty(key, value);              // 将此 Properties 表中的属性列表(键和元素对)写入输出流              props.store(fos, "『comments』Update key:" + key);          } catch (Exception e) {          e.printStackTrace();        }      }         public static void main(String[] args) {          PropertiesUtil util=new PropertiesUtil("src/dbConfig.properties");          util.writeProperties("dbtype", "MSSQL");      }      }  
转自【http://blog.csdn.net/guoxuepeng123/article/details/8797916】