SpringBoot怎样获取src/main/resource路径下的文件
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,SpringBoot怎样获取src/main/resource路径下的文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
千家信息网最后更新 2025年01月19日SpringBoot怎样获取src/main/resource路径下的文件
SpringBoot怎样获取src/main/resource路径下的文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
SpringBoot获取src/main/resource路径下的文件
下面的ResourceUtils使用spring-core的工具包,在org.springframework.util包下
File file = ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX+"static/imgs/aha.png");
但是如果将Boot工程打成jar包的话,将会无法获取到该文件会报错如下路径找不到:
/E:/test/demo-1.1.0.jar!/BOOT-INF/classes!/static/imgs/aha.png
因为打成jar包后,不再像磁盘文件夹存储的形式了,所以如果要打成jar包的话可以像如下方式先读取jar中该文件的流,再将该流转成自己所需(该方式打成war也可以使用)
InputStream inputStream = this.getClass().getResourceAsStream("/static/imgs/aha.png");
SpringBoot打成jar包后,读取resources目录下的文件
一般方法
Properties pps = new Properties();File file = ResourceUtils.getFile("classpath:defult.properties");pps.load(new FileReader(file));
此时打包成jar运行时会报错:
java.io.FileNotFoundException
在调试过程中,文件是真实存在于磁盘的某个目录。此时通过获取文件路径,是可以正常读取的,因为文件确实存在。
而打包成jar以后,实际上文件是存在于jar这个文件里面的资源文件,在磁盘是没有真实路径的。所以通过ResourceUtils.getFile或者this.getClass().getResource("")方法无法正确获取文件。
正确方法
采用流的方式进行处理,同时读取流时设置编码utf-8
使用InputStream inputStream=this.getClass().getResourceAsStream("") 会指定要加载的资源路径与当前类所在包的路径一致。因此能正常读取文件。
Properties pps = new Properties();InputStream stream = getClass() .getClassLoader() .getResourceAsStream("defult.properties"); BufferedReader br = new BufferedReader(new InputStreamReader(stream, "UTF-8"));pps.load(br);
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
文件
路径
方式
方法
磁盘
目录
资源
会报
帮助
清楚
一致
内容
同时
实际
实际上
对此
工具
工具包
工程
形式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海常规软件开发销售电话
达梦数据库中删除字段类型的语句
软件开发cfa
湛江专业软件开发维修电话
武士零用什么软件开发的
陈红松网络安全与管理第二版
深圳c语言软件开发哪家实惠
数据库密码锁了怎么办
宁波代理服务器
数据库怎样更改表格属性
高校如何开展网络安全措施
软件开发专业毕业自我鉴定
oracle数据库编目
数据库中添加数据代码
做app什么软件开发
网络安全温馨提示语的模板
数据库技术要编程嘛
数据中心的服务器多少钱一台
服务器运行监控系统
共建网络安全护苗行动
DBA数据库管理员的职业
计算机网络技术专业标准
小学 网络安全为人民活动
sw主数据库由于
go如何搭建mysql数据库
数据库连接测试软件
网络安全与舆情信息预警平台
山东网络技术专业能报的学校
焦作市维森瑞网络技术有限公司
最难的数据库