读取jar包中文件

提供jar给外界使用时,经常会读取自身的配置文件等。这些配置文件在打包后已经在jar中了,所以不能使用普通的读取文件方式读取,只能以ClassLoader的方式读取二进制文件。

1
2
3
4
5
6
7
8
9
10
11
12
public static BufferedReader getReader(String name) {
try {
InputStream in = DicReader.class.getResourceAsStream("/" + name);
if (in != null) {
return new BufferedReader(new InputStreamReader(in, "UTF-8"));
}
} catch (UnsupportedEncodingException e) {
log.error("Cannot create BufferedReader for {}", name, e);
}
log.error("Cannot read dic: {} ", name);
return null;
}