/*
* Copyright (c) 2013, Rainbow and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software;Designed and Developed mainly by many Chinese
* opensource volunteers. you can redistribute it and/or modify it under the
* terms of the GNU General Public License version 2 only, as published by the
* Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Any questions about this component can be directed to it's project Web address
* http://code.taobao.org/svn/rainbow/trunk
*
*/
package org.hx.rainbow.common.util;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* 读取.properties配置文件的内容至Map中。
* @author huangxin
*
*/
public class PropertiesUtil {
protected final static Log logger = LogFactory.getLog(PropertiesUtil.class);
public static Map<String,Object> map = new HashMap<String,Object>();
private static PropertiesUtil propertiesUtil = null;
private PropertiesUtil(){
}
public static PropertiesUtil getInstance(){
if(propertiesUtil == null){
synchronized (PropertiesUtil.class) {
if(propertiesUtil == null){
propertiesUtil = new PropertiesUtil();
}
}
}
return propertiesUtil;
}
/**
* 读取.properties配置文件的内容至Map中
* @param propertiesFile
* @return
*/
public Map<String,Object> read(String propertiesFile) {
@SuppressWarnings("unchecked")
Map<String,Object> maps = (Map<String, Object>) map.get(propertiesFile);
if(maps == null){
maps = new HashMap<String,Object>();
ResourceBundle rb = ResourceBundle.getBundle(propertiesFile);
Enumeration<String> enu = rb.getKeys();
while (enu.hasMoreElements()) {
String obj = enu.nextElement();
Object objv = rb.getObject(obj);
maps.put(obj, objv);
}
map.put(propertiesFile, maps);
}
return maps;
}
}