一、需求场景

有时候我们需要在项目中使用一些静态资源文件,比如城市信息文件 countries.xml,在项目启动后读取其中的数据并初始化写进数据库中。
二、实现
静态资源文件 countries.xml 放在 src/main/resources 目录下
使用 Spring 的 ClassPathResource 来实现 :
Resource resource = new ClassPathResource("countries.xml");
File file = resource.getFile();
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
ClassPathResource 类的注释如下:
Resource implementation for class path resources. Uses either a given ClassLoader or a given Class for loading resources.
Supports resolution as java.io.File if the class path resource resides in the file system, but not for resources in a JAR. Always supports resolution as URL.
翻译过来就是:
类路径资源的资源实现。使用给定的ClassLoader或给定的类来加载资源。
如果类路径资源驻留在文件系统中,则支持解析为 java.io.File,如果是JAR中的资源则不支持。始终支持解析为URL。
三、Jar 中资源文件
上面也提到了,如果静态资源文件在文件系统里,则支持解析为 java.io.File,程序是能正常工作的。
到项目打包成 Jar 包放到服务器上运行就报找不到资源的错误了!
解决法案是:不获取 java.io.File 对象,而是直接获取输入流:
Resource resource = new ClassPathResource("countries.xml");
BufferedReader br = new BufferedReader(new InputStreamReader(resource.getInputStream()));
说明:构造得到 resource 对象之后直接获取其输入流 resource.getInputStream()。
四、附录
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Spring
# Boot
# 读取静态文件
# 读取文件
# SpringBoot中配置Web静态资源路径的方法
# springboot项目打成jar包后无法获取static下的静态资源文件的问题分析
# SpringBoot中的五种对静态资源的映射规则的实现
# springboot2版本无法加载静态资源问题解决
# springboot如何获取相对路径文件夹下静态资源的方法
# 在SpringBoot中静态资源访问方法
# SpringBoot静态资源css
# js
# img配置方案
# Spring boot 默认静态资源路径与手动配置访问路径的方法
# Spring Boot访问静态资源css/js
# 你真的懂了吗
# 文件系统
# 放在
# 找不到
# 不支持
# 来实现
# 数据库中
# 大家多多
# 取其
# 写进
# 器上
# 加载
# 目录下
# resource
# brush
# java
相关文章:
广州美橙建站如何快速搭建多端合一网站?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
专业网站建设制作报价,网页设计制作要考什么证?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
高端建站三要素:定制模板、企业官网与响应式设计优化
建站之星代理平台如何选择最佳方案?
广平建站公司哪家专业可靠?如何选择?
如何快速使用云服务器搭建个人网站?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
简单实现Android文件上传
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
如何确认建站备案号应放置的具体位置?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
家庭建站与云服务器建站,如何选择更优?
如何使用Golang安装API文档生成工具_快速生成接口文档
网页设计网站制作软件,microsoft office哪个可以创建网页?
建站主机是什么?如何选择适合的建站主机?
青岛网站建设如何选择本地服务器?
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
如何用PHP快速搭建高效网站?分步指南
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
如何在云主机快速搭建网站站点?
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
c# 在ASP.NET Core中管理和取消后台任务
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
建站之星×万网:智能建站系统+自助建站平台一键生成
网站制作员失业,怎样查看自己网站的注册者?
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
网站制作模板下载什么软件,ppt模板免费下载网站?
如何用PHP快速搭建CMS系统?
如何快速登录WAP自助建站平台?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
建站主机数据库如何配置才能提升网站性能?
如何快速搭建高效简练网站?
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
如何选择高效可靠的多用户建站源码资源?
如何在万网ECS上快速搭建专属网站?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
韩国服务器如何优化跨境访问实现高效连接?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
如何在IIS管理器中快速创建并配置网站?
常州企业网站制作公司,全国继续教育网怎么登录?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
*请认真填写需求信息,我们会在24小时内与您取得联系。