1. 程式人生 > >【轉】Java工具類——資原始檔解析類PropertiesUtil

【轉】Java工具類——資原始檔解析類PropertiesUtil

  1. package com.luang.util.properties;  
  2. import java.io.File;  
  3. import java.io.FileInputStream;    
  4. import java.io.FileOutputStream;    
  5. import java.io.IOException;    
  6. import java.io.InputStream;  
  7. import java.io.OutputStream;    
  8. import java.net.URI;  
  9. import java.util.Enumeration;    
  10. import java.util.HashMap;    
  11. import java.util.Map;    
  12. import java.util.Properties;    
  13. import java.util.ResourceBundle;  
  14. /** 
  15.  *  
  16.  * PropertiesUtil.java 
  17.  * 
  18.  * @desc properties 資原始檔解析工具 
  19.  * @author Guoxp 
  20.  * @datatime Apr 7, 2013 3:58:45 PM 
  21.  * 
  22.  */
  23. publicclass PropertiesUtil {    
  24.     private Properties props;    
  25.     private
     URI uri;  
  26.     public PropertiesUtil(String fileName){    
  27.         readProperties(fileName);    
  28.     }    
  29.     privatevoid readProperties(String fileName) {    
  30.         try {    
  31.             props = new Properties();    
  32.             InputStream fis =getClass().getResourceAsStream(fileName);    
  33.             props.load(fis);    
  34.             uri = this.getClass().getResource("/dbConfig.properties").toURI();  
  35.         } catch (Exception e) {    
  36.             e.printStackTrace();    
  37.         }    
  38.     }    
  39.     /**  
  40.      * 獲取某個屬性  
  41.      */
  42.     public String getProperty(String key){    
  43.         return props.getProperty(key);    
  44.     }    
  45.     /**  
  46.      * 獲取所有屬性,返回一個map,不常用  
  47.      * 可以試試props.putAll(t)  
  48.      */
  49.     public Map getAllProperty(){    
  50.         Map map=new HashMap();    
  51.         Enumeration enu = props.propertyNames();    
  52.         while (enu.hasMoreElements()) {    
  53.             String key = (String) enu.nextElement();    
  54.             String value = props.getProperty(key);    
  55.             map.put(key, value);    
  56.         }    
  57.         return map;    
  58.     }    
  59.     /**  
  60.      * 在控制檯上打印出所有屬性,除錯時用。  
  61.      */
  62.     publicvoid printProperties(){    
  63.         props.list(System.out);    
  64.     }    
  65.     /**  
  66.      * 寫入properties資訊  
  67.      */
  68.     publicvoid writeProperties(String key, String value) {    
  69.         try {    
  70.         OutputStream fos = new FileOutputStream(new File(uri));    
  71.             props.setProperty(key, value);    
  72.             // 將此 Properties 表中的屬性列表(鍵和元素對)寫入輸出流  
  73.             props.store(fos, "『comments』Update key:" + key);    
  74.         } catch (Exception e) {    
  75.         e.printStackTrace();  
  76.         }    
  77.     }       
  78.     publicstaticvoid main(String[] args) {    
  79.         PropertiesUtil util=new PropertiesUtil("src/dbConfig.properties");    
  80.         util.writeProperties("dbtype""MSSQL");    
  81.     }        
  82. }    
轉自【http://blog.csdn.net/guoxuepeng123/article/details/8797916】