package com.jb.efile.util;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
import java.util.Set;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class GlobalConfigUtil {
private static final Log log = LogFactory.getLog(GlobalConfigUtil.class);
/**
* 获取Properties对象
* @return
*/
public static Properties getGlobalConfig() {
Properties prop = new Properties();
// 这里不要用ClassLoader.getSystemResourcAsStream()来获取
// 因为此方法是调用jvm自带的classLoader加载才文件
// 而如果是web项目,则类加载器可能是tomcat下的webAppClassLoader
InputStream is = GlobalConfigUtil.class.getClassLoader()
.getResourceAsStream("sftpMail.properties");
if (is == null) {
is = GlobalConfigUtil.class
.getResourceAsStream("/sftpMail.properties");
}
try {
prop.load(is);
} catch (IOException e) {
log.error("配置文件读取错误!", e);
}
return prop;
}
/**
* 将properties中的信息封装到map中
* @return
*/
public static Map<String, String> getConfigMap() {
Map<String, String> configMap = new HashMap<String, String>();
Properties prop = getGlobalConfig();
Set<Entry<Object, Object>> set = prop.entrySet();
Iterator<Entry<Object, Object>> entry = set.iterator();
while (entry.hasNext()) {
Entry<Object, Object> map = entry.next();
configMap.put(map.getKey().toString(), map.getValue().toString());
}
return configMap;
}
/**
* 测试
* @param args
*/
public static void main(String[] args) {
Properties prop = getGlobalConfig();
Set<Entry<Object, Object>> set = prop.entrySet();
Iterator<Entry<Object, Object>> entry = set.iterator();
while (entry.hasNext()) {
Entry<Object, Object> map = entry.next();
System.out.println(map);
System.out.println(map.getKey() + ": " + map.getValue());
}
System.out.println(prop.getProperty("curProvince"));
System.out.println(prop.getProperty("system"));
System.out.println(prop.getProperty("cn"));
/*
* try { // 解决中文乱码问题 String cn = new String(prop.getProperty("cn")
* .getBytes("ISO-8859-1"), "UTF-8"); System.out.println(cn); } catch
* (UnsupportedEncodingException e) { // TODO Auto-generated catch block
* e.printStackTrace(); }
*/
}
}
java加载并遍历properties文件
最新推荐文章于 2025-04-30 22:30:19 发布