Spring Boot打包后读取static目录找不到文件,出现感叹号符号

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的方式获取就能够拿到输入流。

你可能感兴趣的:(常见问题,Spring,Boot)