通常情况下获取resources直接获取即可,但是当springboot打成jar包的时候这个方法就不可用了。所以推荐通过getInputStream() 代码如下
ClassPathResource resource = new ClassPathResource("key" + File.separator + keyPath);
InputStream inputStream = resource.getInputStream();
StringBuilder stringBuilder = new StringBuilder();
BufferedReader reader = null;
try{
InputStreamReader streamReader = new InputStreamReader(inputStream);
reader = new BufferedReader(streamReader);
String line;
while ((line = reader.readLine()) != null) {
stringBuilder.append(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(reader!=null){
reader.close();
}
}
return String.valueOf(stringBuilder);
另外需要注意的是有些初始化函数是放在static块中的,如
static{
//init something
}
但是需要注意的是这个static静态块是在第一次调用该类的时候进行实例化的。