最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot如何獲取src/main/resource路徑下的文件

 更新時(shí)間:2021年12月24日 15:49:08   作者:三千煉心  
這篇文章主要介紹了SpringBoot如何獲取src/main/resource路徑下的文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SpringBoot獲取src/main/resource路徑下的文件

下面的ResourceUtils使用spring-core的工具包,在org.springframework.util包下

File file = ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX+"static/imgs/aha.png");

但是如果將Boot工程打成jar包的話,將會(huì)無法獲取到該文件會(huì)報(bào)錯(cuò)如下路徑找不到:

/E:/test/demo-1.1.0.jar!/BOOT-INF/classes!/static/imgs/aha.png

因?yàn)榇虺蒵ar包后,不再像磁盤文件夾存儲(chǔ)的形式了,所以如果要打成jar包的話可以像如下方式先讀取jar中該文件的流,再將該流轉(zhuǎn)成自己所需(該方式打成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));

此時(shí)打包成jar運(yùn)行時(shí)會(huì)報(bào)錯(cuò):

java.io.FileNotFoundException

在調(diào)試過程中,文件是真實(shí)存在于磁盤的某個(gè)目錄。此時(shí)通過獲取文件路徑,是可以正常讀取的,因?yàn)槲募_實(shí)存在。

而打包成jar以后,實(shí)際上文件是存在于jar這個(gè)文件里面的資源文件,在磁盤是沒有真實(shí)路徑的。所以通過ResourceUtils.getFile或者this.getClass().getResource("")方法無法正確獲取文件。

正確方法

采用流的方式進(jìn)行處理,同時(shí)讀取流時(shí)設(shè)置編碼utf-8

使用InputStream inputStream=this.getClass().getResourceAsStream("") 會(huì)指定要加載的資源路徑與當(dāng)前類所在包的路徑一致。因此能正常讀取文件。

Properties pps = new Properties();
InputStream stream = getClass()
                    .getClassLoader()
                    .getResourceAsStream("defult.properties"); 
BufferedReader br = new BufferedReader(new InputStreamReader(stream, "UTF-8"));
pps.load(br);

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

相關(guān)文章

  • SpringBoot項(xiàng)目中使用Groovy腳本的示例代碼

    SpringBoot項(xiàng)目中使用Groovy腳本的示例代碼

    本文主要介紹了SpringBoot項(xiàng)目中使用Groovy腳本的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • MVC框架自定義實(shí)現(xiàn)過程

    MVC框架自定義實(shí)現(xiàn)過程

    這篇文章主要介紹了MVC框架自定義實(shí)現(xiàn)過程,通過搞懂什么是MVC以及MVC的運(yùn)行原理然后再去理解其演繹過程,本文附含了詳細(xì)的思維導(dǎo)圖幫助大家更好的理解MVC
    2021-08-08
  • 小程序與后端Java接口交互實(shí)現(xiàn)HelloWorld入門

    小程序與后端Java接口交互實(shí)現(xiàn)HelloWorld入門

    本文主要介紹了小程序與后端Java接口交互實(shí)現(xiàn)HelloWorld入門 ,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • 淺談Java平臺(tái)無關(guān)性

    淺談Java平臺(tái)無關(guān)性

    這篇文章主要介紹了淺談Java平臺(tái)無關(guān)性,對(duì)此感興趣的同學(xué),可以多了解一下
    2021-04-04
  • quartz的簡(jiǎn)單使用、SpringBoot使用和自定義數(shù)據(jù)源集成方式

    quartz的簡(jiǎn)單使用、SpringBoot使用和自定義數(shù)據(jù)源集成方式

    這篇文章主要介紹了quartz的簡(jiǎn)單使用、SpringBoot使用和自定義數(shù)據(jù)源集成方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教<BR>
    2024-01-01
  • Java并發(fā)編程學(xué)習(xí)之Unsafe類與LockSupport類源碼詳析

    Java并發(fā)編程學(xué)習(xí)之Unsafe類與LockSupport類源碼詳析

    這篇文章主要給大家介紹了關(guān)于Java并發(fā)編程學(xué)習(xí)之Unsafe類與LockSupport類源碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧
    2018-06-06
  • Java合并PDF文檔的三種常用方式總結(jié)

    Java合并PDF文檔的三種常用方式總結(jié)

    這篇文章主要給大家介紹了關(guān)于Java合并PDF文檔的三種常用方式,文中介紹的方式分別是Apache?PDFBox、Spire.PDF(IceBlue)和iText?PDF,每種方式都有其對(duì)應(yīng)的pom.xml代碼示例,,要的朋友可以參考下
    2024-12-12
  • Java 抽象類特點(diǎn)總結(jié)

    Java 抽象類特點(diǎn)總結(jié)

    在面向?qū)ο蟮母拍钪?,所有的?duì)象都是通過類來描繪的,但是反過來,并不是所有的類都是用來描繪對(duì)象的,如果一個(gè)類中沒有包含足夠的信息來描繪一個(gè)具體的對(duì)象,這樣的類就是抽象類
    2021-10-10
  • 深入講解Java Maven配置

    深入講解Java Maven配置

    這篇文章主要介紹了Maven的安裝配置詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-10-10
  • JPA如何使用findBy方法自定義查詢

    JPA如何使用findBy方法自定義查詢

    這篇文章主要介紹了JPA如何使用findBy方法自定義查詢,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11

最新評(píng)論

洪江市| 汾阳市| 伊宁县| 清涧县| 北京市| 德令哈市| 资溪县| 临沭县| 娄烦县| 客服| 曲松县| 龙里县| 綦江县| 五台县| 沙坪坝区| 桂东县| 岗巴县| 辽阳市| 双桥区| 乡宁县| 乳山市| 昂仁县| 页游| 镇赉县| 佛冈县| 那曲县| 溧阳市| 中山市| 安龙县| 赫章县| 修文县| 洞口县| 玉环县| 大英县| 天门市| 武胜县| 泰州市| 顺昌县| 沅陵县| 江都市| 克山县|