package com.hh.util;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.Map.Entry;
import org.apache.log4j.Logger;
/**
*
* @version 1.0
* @author lixunhui@qq.com
* @since JDK 1.6
**/
public class PropertiesToMapUtil {
private final static Logger log = Logger.getLogger(PropertiesToMapUtil.class);
/**
* 根据java标准properties文件读取信息(文件编码格式采用UTF-8格式!),并赋值为一个 HashMap<String,String>
* @param path
* @param map
* @return
* @throws Exception
*/
public final static Map<String,String> fileToMap(String path,Map<String,String> map) throws Exception{
if(map == null){
map = new HashMap<String,String>();
}
FileInputStream isr = null;
Reader r = null;
try {
isr = new FileInputStream(path);
r = new InputStreamReader(isr, "utf-8");
Properties props = new Properties();
props.load(r);
Set<Entry<Object, Object>> entrySet = props.entrySet();
for (Entry<Object, Object> entry : entrySet) {
if (!entry.getKey().toString().startsWith("#")) {
map.put(((String) entry.getKey()).trim(), ((String) entry
.getValue()).trim());
}
}
return map;
} finally {
if (r != null) {
try {
r.close();
} catch (IOException e) {
log.error("文件关闭异常", e);
}
}
if (isr != null) {
try {
isr.close();
} catch (Exception e2) {
log.error("文件关闭异常",e2);
}
}
}
}
/**
* 根据java标准properties文件读取信息,并赋值为一个 HashMap<String,String>
* @param path
* @param map
* @return
* @throws Exception
*/
public final static Map<String,String> fileToMap(String path,Map<String,String> map,String encoding) throws Exception{
if(map == null){
map = new HashMap<String,String>();
}
FileInputStream isr = null;
Reader r = null;
try {
isr = new FileInputStream(path);
r = new InputStreamReader(isr, encoding);
Properties props = new Properties();
props.load(r);
Set<Entry<Object, Object>> entrySet = props.entrySet();
for (Entry<Object, Object> entry : entrySet) {
if (!entry.getKey().toString().startsWith("#")) {
map.put(((String) entry.getKey()).trim(), ((String) entry
.getValue()).trim());
}
}
return map;
} finally {
if (r != null) {
try {
r.close();
} catch (IOException e) {
log.error("文件关闭异常", e);
}
}
if (isr != null) {
try {
isr.close();
} catch (Exception e2) {
log.error("文件关闭异常",e2);
}
}
}
}
}
转载于:https://my.oschina.net/huiger/blog/161741