首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

新鲜出炉的操作java属性资料工具类

2012-11-14 
新鲜出炉的操作java属性文件工具类写在前面: 在Java开发中,我们经常会用到属性配置文件。比如,我们需要一个

新鲜出炉的操作java属性文件工具类
写在前面:
在Java开发中,我们经常会用到属性配置文件。比如,我们需要一个全局变量,这个变量又有可能经常变化,如果我们把它定义在程序中的话,那修改这个变量我们就得重新编译发布,尤其是当程序已经部署运行的话,这将带来很大麻烦。其实属性配置文件的应用场景还有很多,在java开发中可以说是无处不在。下面偶就给出一个操作属性资源文件的工具类。通过这个工具类,我们可以实现对属性配置文件的增删查的操作。

package com.yinhai.paysystem.hospital.base.utils;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.util.Properties;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * @name PropertiesUtil * @title 操作属性文件工具类 * @desc   * @author 熊春 * @version 两定支付系统-V5.0 2008-06-16*/public class PropertiesUtil {private static Log log = LogFactory.getLog(PropertiesUtil.class);//日志输出对象private static String filePath;private Properties objProperties; //属性对象/** * @name PropertiesUtil * @title 构造函数 * @desc 加载属性资源文件 * @param String,boolean * @return  * @throws Exception  */public PropertiesUtil(String filePath) throws Exception {this.filePath = filePath;File file = new File(filePath);FileInputStream inStream = new FileInputStream(file);try{objProperties = new Properties();objProperties.load(inStream);}catch(FileNotFoundException e){log.error("未找到属性资源文件!");e.printStackTrace();throw e;}catch(Exception e){log.error("读取属性资源文件发生未知错误!");e.printStackTrace();throw e;}finally{inStream.close();}}/** * @name savefile * @title 持久化属性文件 * @desc 使用setValue()方法后,必须调用此方法才能将属性持久化到存储文件中 * @param String, String * @return  * @throws Exception */public void savefile(String desc) throws Exception{FileOutputStream outStream = null;try{File file = new File(filePath);outStream = new FileOutputStream(file);objProperties.store(outStream, desc);//保存属性文件}catch(Exception e){log.error("保存属性文件出错.");e.printStackTrace();throw e;}finally{outStream.close();}}/** * @name getVlue * @title 获取属性值 * @desc 指定Key值,获取value * @param String * @return String */public String getValue(String key){return objProperties.getProperty(key);}/** * @name getVlue * @title 获取属性值,支持缺省设置 * @desc 重载getValue()方法;指定Key值,获取value并支持缺省值 * @param String * @return String */public String getValue(String key, String defaultValue){return objProperties.getProperty(key, defaultValue);}/** * @name removeVlue * @title 删除属性 * @desc 根据Key,删除属性 * @param String * @return  */public void removeValue(String key){objProperties.remove(key);}/** * @name setValue * @title 设置属性 * @desc  * @param String,String * @return  */public void setValue(String key, String value){objProperties.setProperty(key, value);}/** * @name printAllVlue * @title 打印所有属性值 * @desc  * @param  * @return  */public void printAllVlue(){ objProperties.list(System.out);}}

热点排行