电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

SpringBoot讀取Resource下文件的4種方法

瀏覽:18日期:2023-02-27 17:15:36
SpringBoot讀取Resource下文件

最近在項目中涉及到Excle的導入功能,通常是我們定義完模板供用戶下載,用戶按照模板填寫完后上傳;這里待下載模板位置為resource/excelTemplate/test.xlsx,嘗試了四種讀取方式,并且測試了四種讀取方式分別的windows開發環境下(IDE中)讀取和生產環境(linux下jar包運行讀取)。

第一種:

ClassPathResource classPathResource = new ClassPathResource('excleTemplate/test.xlsx');InputStream inputStream =classPathResource.getInputStream();第二種:

InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream('excleTemplate/test.xlsx');第三種

InputStream inputStream = this.getClass().getResourceAsStream('/excleTemplate/test.xlsx');第四種

File file = ResourceUtils.getFile('classpath:excleTemplate/test.xlsx');InputStream inputStream = new FileInputStream(file);

經測試:

前三種方法在開發環境(IDE中)和生產環境(linux部署成jar包)都可以讀取到,第四種只有開發環境 時可以讀取到,生產環境讀取失敗。

推測主要原因是springboot內置tomcat,打包后是一個jar包,無法直接讀取jar包中的文件,讀取只能通過類加載器讀取。

前三種都可以讀取到其實殊途同歸,直接查看底層代碼都是通過類加載器讀取文件流,類加載器可以讀取jar包中的編譯后的class文件,當然也是可以讀取jar包中的excle模板了。

用解壓軟件打開jar包查看結果如下:

SpringBoot讀取Resource下文件的4種方法

其中cst文件中是編譯后class文件存放位置,excleTemplate是模板存放位置,類加載器讀取的是cst下class文件,同樣可以讀取excleTemplate下的模板的文件流了。

所以總結一下:

假如文件是在jar包中,讀取方式應當使用基于類加載器讀取文件流的方式,比如前三種方法;使用基于java中File方式的讀取,在jar包情況下是讀取不到的,比方說第四種。

SpringBoot打包后無法讀取Resource下的配置文件的解決

SpringBoot讀取Resource下文件的4種方法

有個小程序需要讀取這個證書

解決辦法:

private InputStream getZs(){ ClassPathResource classPathResource = new ClassPathResource('Pinfeng1120845.Prod.p12'); InputStream inputStream = null; try {inputStream = classPathResource.getInputStream(); } catch (IOException e) {e.printStackTrace(); } return inputStream;}

用上面這個種方法讀取在jar包內 和 IDEA里都可以讀取到!

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 车充外壳,车载充电器外壳,车载点烟器外壳,点烟器连接头,旅行充充电器外壳,手机充电器外壳,深圳市华科达塑胶五金有限公司 | 新能源汽车教学设备厂家报价[汽车教学设备运营18年]-恒信教具 | 单电机制砂机,BHS制砂机,制沙机设备,制砂机价格-正升制砂机厂家 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 广东风淋室_广东风淋室厂家_广东风淋室价格_广州开源_传递窗_FFU-广州开源净化科技有限公司 | 回转窑-水泥|石灰|冶金-巩义市瑞光金属制品有限责任公司 | 轴流风机-鼓风机-离心风机-散热风扇-罩极电机,生产厂家-首肯电子 | 过滤器_自清洗过滤器_气体过滤器_苏州华凯过滤技术有限公司 | 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 | 铝箔-铝板-花纹铝板-铝型材-铝棒管-上海百亚金属材料有限公司 | 北京京云律师事务所 | 大型果蔬切片机-水果冬瓜削皮机-洗菜机切菜机-肇庆市凤翔餐饮设备有限公司 | 3d打印服务,3d打印汽车,三维扫描,硅胶复模,手板,快速模具,深圳市精速三维打印科技有限公司 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 粉碎机_塑料粉碎机_塑料破碎机厂家-星标机械 | 直线模组_滚珠丝杆滑台_模组滑台厂家_万里疆科技 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 氧化锆纤维_1800度高温退火炉_1800度高温烧结炉-南京理工宇龙新材料股份有限公司 | 深圳3D打印服务-3D打印加工-手板模型加工厂-悟空打印坊 | 上海律师咨询_上海法律在线咨询免费_找对口律师上策法网-策法网 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 爆破器材运输车|烟花爆竹运输车|1-9类危险品厢式运输车|湖北江南专用特种汽车有限公司 | 粉末包装机-给袋式包装机-全自动包装机-颗粒-液体-食品-酱腌菜包装机生产线【润立机械】 | 自动化生产线-自动化装配线-直流电机自动化生产线-东莞市慧百自动化有限公司 | 土壤有机碳消解器-石油|表层油类分析采水器-青岛溯源环保设备有限公司 | 药品仓库用除湿机-变电站用防爆空调-油漆房用防爆空调-杭州特奥环保科技有限公司 | 智慧食堂_食堂管理系统_食堂订餐_食堂消费系统—客易捷 | 旋振筛_不锈钢旋振筛_气旋筛_旋振筛厂家—新乡市大汉振动机械有限公司 | 冷水机-冰水机-冷冻机-冷风机-本森智能装备(深圳)有限公司 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 罗茨真空机组,立式无油往复真空泵,2BV水环真空泵-力侨真空科技 | 电子厂招聘_工厂招聘_普工招聘_小时工招聘信息平台-众立方招工网 | 焦作网 WWW.JZRB.COM| 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 超声波清洗机-超声波清洗设备定制生产厂家 - 深圳市冠博科技实业有限公司 | 博医通医疗器械互联网供应链服务平台_博医通 | 健康管理师报名入口,2025年健康管理师考试时间信息网-网站首页 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 国际学校_国际学校哪个好_国际课程学校-国际学校择校网 | 路斯特伺服驱动器维修,伦茨伺服驱动器维修|万骏自动化百科 | 圆窗水平仪|伊莉莎冈特elesa+ganter | 西安中国国际旅行社(西安国旅)| 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 |