1.第一种方式,通过ClassPathResource加载
ClassPathResource classPathResource = new ClassPathResource("templates/test.xlsx");
InputStream inputStream =classPathResource.getInputStream();
2.通过当前线程的上下文类加载器获取
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("excleTemplate/test.xlsx");
3.通过当前类加载(未验证)
InputStream inputStream = this.getClass().getResourceAsStream("templates/propertyUser.xlsx");
项目开发时可用这种方式获取,因为已编译好在目录里能找到,但是如果在jar包中执行会找不到,所以不建议,具体原因笔者还在找,希望通过阅读spring源码来了解原因。
File file = ResourceUtils.getFile("classpath:excleTemplate/test.xlsx");
InputStream inputStream = new FileInputStream(file);