SpringBoot读取Resource目录下文件的四种方式总结
SpringBoot读取Resource下文件的四种方式
1、
ClassPathResource classPathResource = new ClassPathResource("/static/image/a.jpg"); InputStream inputStream =classPathResource.getInputStream();
2、
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("/static/image/a.jpg");
3、
InputStream inputStream = this.getClass().getResourceAsStream("/static/image/a.jpg");
4、
File file = ResourceUtils.getFile("classpath:/static/image/a.jpg"); InputStream inputStream = new FileInputStream(file);
前三种方法在开发环境(IDE中)和生产环境(linux部署成jar包)都可以读取到,第四种只有开发环境时可以读取到,打成jar包就不行。
主要原因是springboot内置tomcat,打包后是一个jar包,因此通过文件读取获取流的方式行不通,因为无法直接读取压缩包中的文件,读取只能通过流的方式读取。
前三种都可以,直接查看底层代码都是通过类加载器读取文件流,类加载器可以读取jar包中的编译后的class文件,当然也是可以读取jar包中的文件流了。
到此这篇关于SpringBoot读取Resource目录下文件的四种方式总结的文章就介绍到这了,更多相关SpringBoot获取resources文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
- Spring Boot获取resources目录下的文件三种方式详解
- springboot项目读取resources目录下的文件的9种方式
- Springboot 项目读取Resources目录下的文件(推荐)
- Spring Boot读取resources目录文件方法详解
- SpringBoot中读取jar包中的resources目录下的文件的三种方式
- 详解SpringBoot读取resource目录下properties文件的常见方式
- SpringBoot实现本地上传文件到resources目录
- SpringBoot读取resource目录下文件失败的原因及解决方案
- SpringBoot如何读取resources目录下的文件
- Spring Boot项目获取resources目录下文件并返回给前端的方案
相关文章
springboot2.0.0配置多数据源出现jdbcUrl is required with driverClassN
这篇文章主要介绍了springboot2.0.0配置多数据源出现jdbcUrl is required with driverClassName的错误,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-11-11
最新评论