摘要
java中读取配置文件时常用的方法
在代码中一般读取src下的配置文件
读取src路径下的log4j.properties和message.properties
读取message.properties文件并将properties中的键值对转为map
PropertiesServlet.class.getClassLoader().getResourceAsStream("/message.properties");返回值是一个InputStream
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
/**
* 根据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类型的路径
1
2
3
4
5
6
7
8
9
|
public
void
init()
throws
ServletException {
// TODO Auto-generated method stub
super
.init();
PropertyConfigurator.configure(LogInit.
class
.getClassLoader().getResource(
"//"
).getPath()+
"//log4j-hrp.properties"
);
}
|