介绍5种从resources获取inputStream的方法

news/2025/1/16 16:30:28/文章来源:https://www.cnblogs.com/jspider/p/18675233

@Component
@Slf4j
public class TestFileService {@Autowiredprivate ResourceLoader resourceLoader;@PostConstructpublic void testInputStream() throws IOException {// 5种从resources获取inputStream的方法// 在大多数情况下,推荐使用ResourceLoader或ClassPathResource来加载资源文件/** 使用ClassLoader.getResourceAsStream()方法:* 通过类加载器获取资源文件的输入流。* 方法接受一个资源文件路径参数,返回一个InputStream对象。* 注意:该方法返回的资源文件路径是相对于类加载器的根路径,对于resources目录下的文件,通常不需要加前缀。*/InputStream inputStream1 = this.getClass().getClassLoader().getResourceAsStream("test_files/test_file.txt");/** 使用Class.getResourceAsStream()方法:* 通过Class类的getResourceAsStream()方法读取资源文件。* 方法同样接受一个资源文件路径参数,返回一个InputStream对象。* 注意:该方法返回的资源文件路径是相对于当前类的路径,因此对于resources目录下的文件,需要在文件名前加上“/”前缀。*/InputStream inputStream2 = this.getClass().getResourceAsStream("/test_files/test_file.txt");/** 使用ResourceLoader加载文件:* ResourceLoader是Spring框架提供的一个接口,用于加载资源文件。* 可以在类中注入ResourceLoader对象,并使用其getResource()方法获取资源文件的Resource对象,然后调用getInputStream()方法获取输入流。* 注意:传入资源文件的相对路径可加可不加“/”前缀*/Resource resource = resourceLoader.getResource("classpath:test_files/test_file.txt");InputStream inputStream3 = resource.getInputStream();/** 使用ClassPathResource加载文件:* ClassPathResource是Spring框架提供的一个类,用于从类路径下查找资源文件。* 可以直接创建ClassPathResource对象,并传入资源文件的相对路径【文件名前可加可不加“/”前缀】,然后调用getInputStream()方法获取输入流。*/ClassPathResource classPathResource1 = new ClassPathResource("test_files/test_file.txt");ClassPathResource classPathResource2 = new ClassPathResource("/test_files/test_file.txt");InputStream inputStream4 = classPathResource1.getInputStream();/** 使用ResourceUtils加载文件:* ResourceUtils是Spring提供的一个工具类,用于加载资源文件。* 可以使用ResourceUtils.getFile()方法来获取文件对象,但需要注意该方法只适用于本地文件系统和JAR文件,对于WAR文件或其他类型的文件可能无法正常工作。* 注意:传入资源文件的相对路径不加“/”前缀*/File file1 = ResourceUtils.getFile("classpath:test_files/test_file.txt");InputStream inputStream5 = Files.newInputStream(file1.toPath());log.info("1");}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/870182.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开发一个篮球共享计分器小程序

篮球共享计分器,实现多人实时共享记录比赛,提供个人/团队数据和表现的统计数据,提供单机版/共享版/私密版三种模式记录比赛,提供精简/精准版模式选择,保存历史比赛数据,可用于文字直播。序言作为一名篮球爱好者的程序员,在使用目前市面篮球计分器时,总觉得用的不顺手,…

飞机电气系统技术分析:数字样机技术引领创新

现代飞机正向着更安全、环保和经济的方向发展,飞机系统的设计日益复杂,对各子系统的性能和可靠性也提出了更高要求。作为飞机的重要组成部分,电气系统(Electrical System,ES)不仅负责为各类机载设备提供稳定的电力支持,还在飞行控制、导航、通讯以及乘客舒适性等方面发挥…

Go操作MongoDB

NoSQL泛指非关系型数据库,如mongo,redis,HBase。 mongo使用高效的二进制数据存储,文件存储格式为 BSON ( 一种json的扩展,比json性能更好,功能更强大)。 MySQL中表的概念在mongo里叫集合(collection), MySQL中行的概念在mongo中叫文档(document),一个文档看上去像一个j…

2025年实战技巧!如何通过项目管理助力产品经理实现产品目标?

在当今竞争激烈的商业环境中,产品经理不仅要负责产品的整体规划和设计,还需要确保项目能够按时、按质、按预算完成。这就需要产品经理具备出色的项目管理能力。本文将深入探讨如何通过项目管理助力产品经理实现产品目标,并提供2025年的实战技巧。引言 随着市场的不断变化和技…

Polygon-funky

E. Polygon 给定一个数 n,生成一个 nn 的一个全为 0 的初始矩阵,矩阵上方和左方均有一排炮台,矩阵的下边和右边是边界 炮台可以发射子弹,子弹只能直线行走,且遇到边界后会停止,遇到一个停止的子弹也会停止,子弹停止后的坐标里面的值记为 1 在任何时候,都不会有超过一门…

2025四款简单好用的电脑便签提醒软件推荐

进入2025年,越来越多的打工人需要在电脑上使用一款桌面便签或日程提醒软件,随时记录和管理工作事项,能够帮助我们高效整理思绪,确保重要事务不被遗漏。 今天给大家介绍四款简单又好用的电脑便签或日程提醒软件,总有一款是适合你的! 一、Win系统便笺 Windows操作系统自带的…

本次小论文minor revision中的知识积累

可以发邮件向编辑申请延期返修截止日期 https://cn.service.elsevier.com/app/answers/detail/a_id/29653/c/10595/supporthub/publishing/role/作者/ https://zhuanlan.zhihu.com/p/577324425申请邮件模板:如何在Editorial Manager系统中提交修改稿?【爱思唯尔Editorial Man…

多通道传感器接入集中控制频率温度 传感器集线器带来更多方便

多通道传感器接入集中控制频率温度 传感器集线器带来更多方便现场传感器太多,编号容易混乱?传感器集线器可以将多路传感器轮流切换到单一接口,为现场提供更多方便。操作简便直观,使用一个百位拨动开关和两个旋转开关(十位和个位)自由切换到任意传感器。 传感器通道多,最…

实战指南:优化采购流程,实现高效采购管理

优化采购流程需要从多个方面入手,包括明确采购需求、加强供商管理、优化采购谈判与合同签订、加强采购执行与跟踪、提高质量控制与验收水平、进行成本分析与优化、加强人员培训与发展以及注重合规与风险管理。通过这些措施的实施,可以显著提高采购效率和质量,降低采购成本,…

Lableview 标签软件 | LABELVIEW 条形码标签软件

Lableview 标签软件 | LABELVIEW 条形码标签软件Lableview 专业顾问 手机|微信:13928851814值得您信赖的条形码标签软件稳健可靠的条形码标签创建与集成简单的数据库连接易于使用的界面和提供便利的向导100 多种条形码符号体系可自定义的打印界面变量选用表增加了灵活性LABE…

原生JS实现一个日期选择器(DatePicker)组件

这是通过原生HTML/CSS/JavaScript完成一个日期选择器(datepicker)组件,一个纯手搓的组件的开发。主要包括datepicker静态结构的编写、日历数据的计划获取、组件的渲染以及组件事件的处理。 根据调用时的时间格式参数,可以控制短日期格式或长日期格式。实现效果(短日期格式…

LabelMatrix 标签软件 | LABEL MATRIX 条形码标签软件

LabelMatrix 标签软件 | LABEL MATRIX 条形码标签软件LabelMatrix 专业顾问 手机|微信:13928851814LABEL MATRIX 条形码标签软件 借助功能丰富的条形码标签软件,为将来的发展奠定坚实的基础适用于简单标签需求的条形码标签软件提供帮助的内置向导熟悉的 Windows 用户界面10…