SpringBoot如何讀取resources目錄下的文件
SpringBoot讀取resources目錄下的文件
最近實驗室的項目中遇到一個問題:需要讀取SpringBoot項目中resources目錄下的文件,現(xiàn)在把我踩過的坑寫出來。
需要讀取jar包中的resources文件的,第三種方法是可以的,前兩個可以直接跳過
SpringBoot項目讀取resources目錄下的文件,通過查閱資料和以往經(jīng)驗,剛開始采用Java傳統(tǒng)的讀取文件的方式,發(fā)現(xiàn)在IDEA上是可以讀取成功的,但是項目打包jar后在服務器上運行找不到文件。
于是換到另外兩種方式,下面依次說明這三種方式:目錄結(jié)構:需要讀取resources/static/assets/test.txt文件
1. 傳統(tǒng)java讀取方式
File file = new File("src/main/resources/static/assets/test.txt"); InputStream inputStream=new FileInputStream(file);
這種方式在idea上運行是可以的,但是打成jar包是會報文件找不到異常的
2. ResourceUtils工具類
上述方案是最先寫的,這肯定是不行的,因為打包后的jar文件的目錄結(jié)構不會從src開始,經(jīng)百度后查到jar文件中的資源,讀取時必須使用流的方式,查到可以使用ResourceUtils類獲得文件流,如下:
File file = ResourceUtils.getFile("classpath:static/assets/test.txt"); InputStream inputStream=new FileInputStream(file);
這種方式在idea上運行是可以的,但是打成jar包是會報文件找不到異常的
3. ClassPathResource類
ClassPathResource classPathResource = new ClassPathResource("static/assets/test.txt"); InputStream inputStream = classPathResource.getInputStream();
這種方法在idea上運行是可以的,打成jar包也是可以的。與方法2的區(qū)別可以看一下這篇文章
與上面的項目相對應的jar文件的目錄結(jié)構:
Springboot讀取resources文件(適用于linux環(huán)境)
InputStream is = this.getClass().getResourceAsStream(“文件路徑”); String s = IOUtils.toString(is, “utf8”);// org.apache.commons.io
兩步就可以簡單的完成讀取 resources 目錄下的文件了,并且打成 jar 包發(fā)布到 linux 環(huán)境上進行部署也可以正常的讀取。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Springboot 項目讀取Resources目錄下的文件(推薦)
- 解決springboot項目找不到resources目錄下的資源問題
- 解決@springboottest注解無法加載src/main/resources目錄下文件
- springboot項目讀取resources目錄下的文件的9種方式
- springboot實現(xiàn)jar運行復制resources文件到指定的目錄(思路詳解)
- SpringBoot中讀取jar包中的resources目錄下的文件的三種方式
- SpringBoot實現(xiàn)本地上傳文件到resources目錄
- Springboot獲取jar包中resources資源目錄下的文件
- Springboot項目啟動不加載resources目錄下的文件問題
- SpringBoot下獲取resources目錄下文件的常用方法
相關文章
Mybatis配置映射文件中parameterType的用法講解
這篇文章主要介紹了Mybatis配置映射文件中parameterType的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09SpringBoot監(jiān)聽Nacos動態(tài)修改日志級別的操作方法
線上系統(tǒng)的日志級別一般都是 INFO 級別,有時候需要查看 WARN 級別的日志,所以需要動態(tài)修改日志級別,微服務項目中使用 Nacos 作為注冊中心,我們可以監(jiān)聽 Nacos 配置,修改日志級別,這篇文章主要介紹了SpringBoot監(jiān)聽Nacos動態(tài)修改日志級別的操作方法,需要的朋友可以參考下2023-12-12關于JDK+Tomcat+eclipse+MyEclipse的配置方法,看這篇夠了
關于JDK+Tomcat+eclipse+MyEclipse的配置問題,很多朋友都搞不太明白,網(wǎng)上一搜配置方法多種哪種最精簡呢,今天小編給大家分享一篇文章幫助大家快速掌握JDK Tomcat eclipse MyEclipse配置技巧,需要的朋友參考下吧2021-06-06動態(tài)更改Spring定時任務Cron表達式的優(yōu)雅方案實例詳解
spring定時器非常強大,但是有時候我們需要在不需要重啟應用就可以動態(tài)的改變Cron表達式的值,下面這篇文章主要給大家介紹了關于動態(tài)更改Spring定時任務Cron表達式的優(yōu)雅方案,需要的朋友可以參考下2022-12-12java 實現(xiàn)單鏈表逆轉(zhuǎn)詳解及實例代碼
這篇文章主要介紹了java 實現(xiàn)單鏈表逆轉(zhuǎn)實例代碼的相關資料,需要的朋友可以參考下2017-02-02