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

Spring Boot 讀取靜態(tài)資源文件的方法

 更新時(shí)間:2017年09月26日 10:25:07   作者:kinginblue  
本篇文章主要介紹了Spring Boot 讀取靜態(tài)資源文件的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

一、需求場(chǎng)景

有時(shí)候我們需要在項(xiàng)目中使用一些靜態(tài)資源文件,比如城市信息文件 countries.xml,在項(xiàng)目啟動(dòng)后讀取其中的數(shù)據(jù)并初始化寫進(jìn)數(shù)據(jù)庫(kù)中。

二、實(shí)現(xiàn)

靜態(tài)資源文件 countries.xml 放在 src/main/resources 目錄下

使用 Spring 的 ClassPathResource 來(lái)實(shí)現(xiàn) :

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.

翻譯過(guò)來(lái)就是:

類路徑資源的資源實(shí)現(xiàn)。使用給定的ClassLoader或給定的類來(lái)加載資源。

如果類路徑資源駐留在文件系統(tǒng)中,則支持解析為 java.io.File,如果是JAR中的資源則不支持。始終支持解析為URL。

三、Jar 中資源文件

上面也提到了,如果靜態(tài)資源文件在文件系統(tǒng)里,則支持解析為 java.io.File,程序是能正常工作的。

到項(xiàng)目打包成 Jar 包放到服務(wù)器上運(yùn)行就報(bào)找不到資源的錯(cuò)誤了!

解決法案是:不獲取 java.io.File 對(duì)象,而是直接獲取輸入流:

Resource resource = new ClassPathResource("countries.xml");
BufferedReader br = new BufferedReader(new InputStreamReader(resource.getInputStream()));

說(shuō)明:構(gòu)造得到 resource 對(duì)象之后直接獲取其輸入流 resource.getInputStream()。

四、附錄

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 教你如何使用Java實(shí)現(xiàn)WebSocket

    教你如何使用Java實(shí)現(xiàn)WebSocket

    這篇文章主要介紹了教你如何使用Java實(shí)現(xiàn)WebSocket問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Java設(shè)計(jì)模式之模板模式(Template模式)介紹

    Java設(shè)計(jì)模式之模板模式(Template模式)介紹

    這篇文章主要介紹了Java設(shè)計(jì)模式之模板模式(Template模式)介紹,定義一個(gè)操作中算法的骨架,將一些步驟的執(zhí)行延遲到其子類中,需要的朋友可以參考下
    2015-03-03
  • 更改Maven軟件源為阿里云源的方法詳解

    更改Maven軟件源為阿里云源的方法詳解

    這篇文章主要介紹了更改Maven軟件源為阿里云源的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • springmvc使用@notNull注解驗(yàn)證請(qǐng)求參數(shù)方式

    springmvc使用@notNull注解驗(yàn)證請(qǐng)求參數(shù)方式

    這篇文章主要介紹了springmvc使用@notNull注解驗(yàn)證請(qǐng)求參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教<BR>
    2024-01-01
  • Java動(dòng)態(tài)初始化數(shù)組,元素默認(rèn)值規(guī)則詳解

    Java動(dòng)態(tài)初始化數(shù)組,元素默認(rèn)值規(guī)則詳解

    動(dòng)態(tài)初始化數(shù)組涉及先定義數(shù)組長(zhǎng)度,后填充具體數(shù)據(jù),適用于數(shù)據(jù)量已知但具體值未定的情況,這種初始化方式允許程序運(yùn)行過(guò)程中賦值,并會(huì)根據(jù)數(shù)據(jù)類型設(shè)定默認(rèn)值,如整型為0,字符串為null,動(dòng)態(tài)初始化與靜態(tài)初始化格式不能混用
    2024-10-10
  • java解壓zip文件示例

    java解壓zip文件示例

    這篇文章主要介紹了java解壓zip文件示例,在獲得一個(gè)以Zip格式壓縮的文件之后,需要將其進(jìn)行解壓縮,還原成壓縮前的文件,下面是代碼示例
    2014-03-03
  • spring通過(guò)導(dǎo)入jar包和配置xml文件啟動(dòng)的步驟詳解

    spring通過(guò)導(dǎo)入jar包和配置xml文件啟動(dòng)的步驟詳解

    這篇文章主要介紹了spring通過(guò)導(dǎo)入jar包和配置xml文件啟動(dòng),本文分步驟通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • JAVA 數(shù)據(jù)結(jié)構(gòu)鏈表操作循環(huán)鏈表

    JAVA 數(shù)據(jù)結(jié)構(gòu)鏈表操作循環(huán)鏈表

    這篇文章主要介紹了JAVA 數(shù)據(jù)結(jié)構(gòu)鏈表操作循環(huán)鏈表的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • springcloud實(shí)現(xiàn)注冊(cè)中心Eureka

    springcloud實(shí)現(xiàn)注冊(cè)中心Eureka

    這篇文章主要介紹了springcloud實(shí)現(xiàn)注冊(cè)中心Eureka,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • SpringBoot環(huán)境Druid數(shù)據(jù)源使用及特點(diǎn)

    SpringBoot環(huán)境Druid數(shù)據(jù)源使用及特點(diǎn)

    Druid 是目前比較流行的高性能的,分布式列存儲(chǔ)的OLAP框架(具體來(lái)說(shuō)是MOLAP)。本文給大家分享SpringBoot環(huán)境Druid數(shù)據(jù)源使用及特點(diǎn)介紹,感興趣的朋友跟隨小編一起看看吧
    2021-07-07

最新評(píng)論