配置文件读取

import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.Properties; import org.apache.commons.io.IoUtils; import org.apache.log4j.Logger; /** * 用于加载、读取propertie配置文件的工具类 */ public class PropertyUtil { static Logger logger = Logger.getLogger(PropertyUtil.class); private static List<String> propertyList = new ArrayList<String>(); private static Properties properties = new Properties(); /** * 加载配置文件 * @param propertyFileName */ private static void loadProperties(String propertyFileName){ if(!alreadyLoaded(propertyFileName)){ InputStream in = null; try { in = PropertyUtil.class.getClassLoader().getResourceAsstream(propertyFileName); if(in != null){ properties.load(in); propertyList.add(propertyFileName); } } catch (IOException e) { logger.error("error:"+e.getMessage(),e); } finally { IoUtils.closeQuietly(in); } } } /** * 是否加载过此配置文件 * @return */ private static boolean alreadyLoaded(String propertyFileName){ return propertyList.contains(propertyFileName); } /** * 根据配置文件名称和健名获取值 * @param propertyFileName 配置文件名称 * @param key 健名 * @param default_value 认值,当根据key取到的value为空时返回default_value * @param <T> * @return */ public static int getIntValue(String propertyFileName,String key,int default_value){ loadProperties(propertyFileName); return properties.get(key)==null?default_value:new Integer(properties.get(key)+""); } public static int getIntValue(String propertyFileName,String key){ loadProperties(propertyFileName); if(properties.get(key)==null){ throw new IllegalArgumentException("Property:"+propertyFileName+" was not found!"); } return new Integer(properties.get(key)+""); } public static String getValue(String propertyFileName,String default_value){ loadProperties(propertyFileName); return properties.get(key)==null?default_value:(String)properties.get(key); } public static String getValue(String propertyFileName,String key){ loadProperties(propertyFileName); if(properties.get(key)==null){ throw new IllegalArgumentException("Property:"+propertyFileName+" was not found!"); } return (String)properties.get(key); } public static boolean 个体tBooleanValue(String propertyFileName,boolean default_value){ loadProperties(propertyFileName); return properties.get(key)==null?default_value:new Boolean(properties.get(key)+""); } public static boolean getBooleanValue(String propertyFileName,String key){ loadProperties(propertyFileName); if(properties.get(key)==null){ throw new IllegalArgumentException("Property:"+propertyFileName+" was not found!"); } return new Boolean(properties.get(key)+""); } public static void main(String[] args) { System.out.println(getValue("props/common.properties","saf.registry.address")); } }

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念