欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot如何讀取Resource下的文件

 更新時(shí)間:2025年04月22日 09:05:25   作者:早睡早起愛學(xué)習(xí)i  
這篇文章主要介紹了SpringBoot如何讀取Resource下的文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SpringBoot項(xiàng)目構(gòu)建成jar運(yùn)行,如何正確讀取resource里的文件

SpringBoot 項(xiàng)目在打包成jar 文件后運(yùn)行在服務(wù)器上后是無法讀取到 jar 文件中的內(nèi)容的

總結(jié)了一般有如下四種讀取文件的方式:

第一種

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);

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

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

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

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java Swing中的表格(JTable)和樹(JTree)組件使用實(shí)例

    Java Swing中的表格(JTable)和樹(JTree)組件使用實(shí)例

    這篇文章主要介紹了Java Swing中的表格(JTable)和樹(JTree)組件使用實(shí)例,本文同時(shí)講解了表格和樹的基本概念、常用方法、代碼實(shí)例,需要的朋友可以參考下
    2014-10-10
  • Java?SE循環(huán)一些基本練習(xí)題總結(jié)

    Java?SE循環(huán)一些基本練習(xí)題總結(jié)

    循環(huán)語句可以在滿足循環(huán)條件的情況下,反復(fù)執(zhí)行某一段代碼,這段被重復(fù)執(zhí)行的代碼被稱為循環(huán)體語句,下面這篇文章主要給大家總結(jié)介紹了關(guān)于Java?SE循環(huán)一些基本練習(xí)題,需要的朋友可以參考下
    2024-03-03
  • SpringBoot整合分布式鎖redisson的示例代碼

    SpringBoot整合分布式鎖redisson的示例代碼

    這篇文章主要介紹了SpringBoot整合分布式鎖redisson,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(10)

    Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(10)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • java對(duì)于目錄下文件的單詞查找操作代碼實(shí)現(xiàn)

    java對(duì)于目錄下文件的單詞查找操作代碼實(shí)現(xiàn)

    這篇文章主要介紹了java對(duì)于目錄下文件的單詞查找操作代碼實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Springboot+devtools配置熱部署過程

    Springboot+devtools配置熱部署過程

    SpringBoot提供的spring-boot-devtools模塊可以實(shí)現(xiàn)應(yīng)用的熱部署,極大提升開發(fā)效率,通過添加POM依賴、配置yml文件、使用IDE快捷鍵等步驟,可以無需手動(dòng)重啟即可自動(dòng)加載變更,這種方式不僅適用于靜態(tài)文件的自動(dòng)加載,也適用于整個(gè)SpringBoot工程,是提高開發(fā)效率的有效手段
    2024-11-11
  • Spring 單元測(cè)試中如何進(jìn)行 mock的實(shí)現(xiàn)

    Spring 單元測(cè)試中如何進(jìn)行 mock的實(shí)現(xiàn)

    這篇文章主要介紹了Spring 單元測(cè)試中如何進(jìn)行 mock的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Spring中@Configuration和@Component注解的區(qū)別及原理

    Spring中@Configuration和@Component注解的區(qū)別及原理

    這篇文章主要介紹了Spring中@Configuration和@Component注解的區(qū)別及原理,從功能上來講,這些注解所負(fù)責(zé)的功能的確不相同,但是從本質(zhì)上來講,Spring內(nèi)部都將其作為配置注解進(jìn)行處理,需要的朋友可以參考下
    2023-11-11
  • 一看就懂 詳解JAVA泛型通配符T,E,K,V區(qū)別

    一看就懂 詳解JAVA泛型通配符T,E,K,V區(qū)別

    泛型從字面上理解,是指一個(gè)類、接口或方法支持多種類型,使之廣泛化、一般化和更加通用。通配符只有在修飾一個(gè)變量時(shí)會(huì)用到,使用它可方便地引用包含了多種類型的泛型;下面我們來深入了解一下吧
    2019-06-06
  • java二維數(shù)組基礎(chǔ)知識(shí)詳解

    java二維數(shù)組基礎(chǔ)知識(shí)詳解

    這篇文章主要介紹了java二維數(shù)組基礎(chǔ)知識(shí)詳解的相關(guān)資料,需要的朋友可以參考下
    2023-02-02

最新評(píng)論