在代码中一般读取src下的配置文件
读取src路径下的log4j.properties和message.properties
读取message.properties文件并将properties中的键值对转为map
PropertiesServlet.class.getClassLoader().getResourceAsStream("/message.properties");返回值是一个InputStream
/**
* 根据java标准properties文件读取信息,并赋值为一个 HashMap<String,String>
* @param path
* @param map
* @return
* @throws Exception
*/
public final Map<String,String> fileToMap(Map<String,String> map) throws Exception{
if(map == null){
map = new HashMap<String,String>();
}
InputStream isr = null;
Reader r = null;
try {
isr = PropertiesServlet.class.getClassLoader().getResourceAsStream("/message.properties");
r = new InputStreamReader(isr, "UTF-8");
Properties props = new Properties();//使用..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) {
HLogger.error(e);
}
}
if (isr != null) {
try {
isr.close();
} catch (Exception e2) {
HLogger.error(e2);
}
}
}
}
LogInit.class.getClassLoader().getResource("//").getPath();返回的是一个String类型的路径
public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
PropertyConfigurator.configure(LogInit.class.getClassLoader().getResource("//").getPath()+"//log4j-hrp.properties");
}