av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

解決SpringBoot ClassPathResource的大坑(FileNotFoundException)

瀏覽:5日期:2023-03-04 11:14:39
FileNotFoundException

SpringBoot 項(xiàng)目將項(xiàng)目打包成jar包,使用ClassPathResource時(shí)使用的是絕對(duì)路徑,直接調(diào)用getFile()方法會(huì)報(bào)

FileNotFoundException

直接上代碼:

通過(guò)賦值文件為臨時(shí)文件的方式解決

val resource = ClassPathResource('my.keystore')val temp = Files.createTempFile('my.keystore', 'tmp')Files.copy(resource.inputStream, temp, StandardCopyOption.REPLACE_EXISTING)

this.getClass().getClassLoader().getResourceAsStream('apiclient_cert.p12');web項(xiàng)目下讀取classpath下的文件心得

使用SpringBoot遇到的大坑

在讀取springBoot+gradle構(gòu)建的項(xiàng)目時(shí),如果使用傳統(tǒng)的FileInputStream讀取文件流或者ResourceUtils工具類的方式,都會(huì)失敗,下面解釋原因:

一、讀取文件的三種方式:

1. ResourceUtils工具類

import org.springframework.util.ResourceUtils;//使用:File file= ResourceUtils.getFile('classpath:test.txt');

2. FileInputStream文件流的方式讀取

解決SpringBoot ClassPathResource的大坑(FileNotFoundException)

(該方式為按行讀取,若不是按行處理,需要像圖中將每行數(shù)據(jù)存在一個(gè)buffer中,然后轉(zhuǎn)成String處理)

3. ClassPathResource獲取文件流的方式

ClassPathResource classPathResource = new ClassPathResource('test.txt');

獲取文件:classPathResource .getFile();

獲取文件流:classPathResource .getInputStream();

二、不同web容器讀取文件的區(qū)別

有兩種常見(jiàn)的web容器:

1. 第一種是普通的web項(xiàng)目,特點(diǎn)是jar/war壓縮包會(huì)隨著容器的啟動(dòng)解壓縮成一個(gè)文件夾,當(dāng)項(xiàng)目訪問(wèn)的時(shí)候,實(shí)際是訪問(wèn)文件夾,而非jar或者war包。

該種方式下,用獲取路徑的方法:

this.getClass().getResource('/')+fileName

或者獲取流的方法:

this.getClass().getResourceAsStream(failName);

都可以成功。

2. 第二種是內(nèi)嵌web容器,Spring boot就是內(nèi)嵌web容器,其特點(diǎn)是只有一個(gè)jar文件,在容器啟動(dòng)后不會(huì)解壓縮,項(xiàng)目實(shí)際訪問(wèn)的就是jar/war包

該種方式最容易遇坑!!最大的坑就是,

this.getClass().getResource('/')+fileName

在本地windows下能完美找到路徑,可是在linux測(cè)試服務(wù)器下就失敗,所以讀取jar中的文件只能用流讀取,不能用file,即只能用方式三讀取。

所以,用spring boot搭建的工程,只能用

classPathResource .getInputStream();

獲取文件流

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 在线不卡视频 | 九色在线观看 | 久草在线| 青青久久| 91高清视频| 在线午夜 | 91在线视频免费观看 | 精品99在线 | 狠狠插狠狠操 | 天天拍夜夜爽 | 久久久久久一区 | 精品1区2区 | 欧美成年网站 | 国产三级电影网站 | 欧美在线观看一区 | 国产乱码精品一品二品 | 欧美大片一区 | 日本精品视频 | 欧美1区2区| 日韩精品一区二区三区四区视频 | 丝袜天堂| www.亚洲精品| 日韩免费福利视频 | 97日韩精品 | 欧美1区2区 | 亚洲成av人影片在线观看 | 国产精品欧美一区二区三区 | 欧美日韩国产一区二区三区 | 美女久久| 一级片在线视频 | 欧美一区二区在线播放 | 国产丝袜av | 99精品国产一区二区青青牛奶 | 亚洲性视频网站 | 国产日韩精品一区 | 国产成人精品一区二区三区网站观看 | av黄色网 | 久草成人 | 日日日日日日bbbbb视频 | 亚洲精品大全 | 91精品国产综合久久婷婷香蕉 |