全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Spring Boot 读取静态资源文件的方法

一、需求场景

有时候我们需要在项目中使用一些静态资源文件,比如城市信息文件 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 access static resources missing scr/main/resources
  • Classpath resource not found when running as jar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# 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小时内与您取得联系。