java读取properties配置文件

package com.suning.ebuy.zone.review.utils;

import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Properties;
import com.suning.framework.lang2.SnfLogger;
import com.suning.framework.lang2.SnfLoggerFactory;
import com.suning.framework.lang2.dto.EventMessage;


public class GetProperties {
	private static final SnfLogger logger          = SnfLoggerFactory.getLogger(GetProperties.class);
	private static Properties properties = new Properties();

	public static Properties getProperties() {
		return properties;
	}

	public static void setProperties(Properties properties) {
		GetProperties.properties = properties;
	}
	//利用静态代码块初始化数据
	static{
		InputStream in = GetProperties.class.getResourceAsStream("/conf/orderShow.properties");
		if(in==null){
			logger.info("importLog.properties not found");
		}else{
			if(!(in instanceof BufferedInputStream)){
				in = new BufferedInputStream(in);
			}
			try{
				properties.load(in);
				in.close();
			}catch (Exception e) {
				logger.info("Error while processing importLog.properties");
			}
		}
	}
	/**
	 * 向properties文件中写入数据
	 */
	public static  void writeProperties(String parameterName,
			String parameterValue) {
		logger.info("enter:GetProperties类中的方法:writeProperties:");
		OutputStream fos = null;
		try {
			fos = new FileOutputStream("/conf/orderShow.properties");   
			properties.setProperty(parameterName, parameterValue);   
            // 将此 Properties 表中的属性列表(键和元素对)写入输出流   
			properties.store(fos, "『comments』Update key:" + parameterName);   
		} catch (IOException e) {
			EventMessage eventMessage = new EventMessage();
            eventMessage.setFunctionName(ExceptionUtil.getCurrentMethodName());
            logger.logException(eventMessage, e);
			
		}finally{
			if(null != fos){
				try {
					fos.close();
				} catch (IOException e) {
					logger.warn("IO ERROR:" + e.getMessage());
				}
			}
		}
		logger.info("exit:GetProperties类中的方法:writeProperties:");
	}
	
	
}
相关文章
相关标签/搜索