您的位置:首页 > 编程语言 > Java开发

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

2016-06-20 13:12 435 查看
处理Properties文件的另一更佳解决方案:见http://blog.csdn.net/softwave/article/details/6873227Java的Properties文件操作类》
    (摘者按)

[java] view
plain copy

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】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: