windows下将Spring Boot打包好的Jar执行后。通过如下代码读取:
String path = Thread.currentThread().getContextClassLoader().getResource("static/pointConfig.xlsx").getPath();
File file = new File(path);
附加断点发现该文件找不到,文件路径为:
file:///D:/Code/Java/demo/target/pump-datasource-1.0.0.jar!/BOOT-INF/classes!/static/pointConfig.xlsx
其中!不知道为什么会产生,可能是window的原因。
解决方法
InputStream resourceAsStream = this.getClass().getClassLoader().getResourceAsStream("static/pointConfig.xlsx");
采用getResourceAsStream的方式获取就能够拿到输入流。