暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Java读取Resource下文件的几种方式

原创 一叶扁舟 2024-07-02
181

一、描述

我们在开发过程中,会将一些模板文件放到resource目录下,那么我们如何读取它呢

二、读取方案

2.1、PathMatchingResourcePatternResolver

ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver(); File file = resourcePatternResolver.getResource("文件名").getFile()
复制

2.2、ResourceLoader

@Autowired private ResourceLoader resourceLoader; File file = resourceLoader.getResource("文件名").getFile();
复制

2.3、ResourceUtils

ResourceUtils.getFile("文件名");
复制

2.4、使用Spring框架的Resource类(需要引入spring-core依赖)

Resource resource = new ClassPathResource("文件名"); File file = resource.getFile();
复制

三、jar包运行时注意事项

Jar包中,资源文件是以流的形式打包的,而不是单独的文件,所以是无法获取File对象的,只能获取流

  • 举例

本地以下代码可以获取到File,但是打成jar包无法获取File

// 读取模板文件 ClassPathResource resource = new ClassPathResource("template/data.xlsx"); EasyExcel.write(res.getOutputStream()).withTemplate(resource.getFile()).head(headColList).sheet().doWrite(dataList);
复制

原因是Jar包中,资源文件是以流的形式打包的,而不是单独的文件,所以是无法获取File对象的,只能获取流

ClassPathResource resource = new ClassPathResource("template/data.xlsx"); EasyExcel.write(res.getOutputStream()).withTemplate(resource.getInputStream()).head(headColList).sheet().doWrite(dataList);
复制
最后修改时间:2024-07-03 20:59:03
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论