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

淺談web項(xiàng)目讀取classpath路徑下面的文件

 更新時(shí)間:2018年01月11日 08:54:53   作者:Mr_伍先生  
這篇文章主要介紹了淺談web項(xiàng)目讀取classpath路徑下面的文件,具有一定借鑒價(jià)值,需要的朋友可以參考下

本文主要研究的是web項(xiàng)目下讀取classpath路徑下的文件的問(wèn)題,具體如下。

首先分兩大類(lèi)按web容器分類(lèi)

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

這種的無(wú)論你是用獲取路徑的方法this.getClass().getResource("/")+fileName

獲取流的方法this.getClass().getResourceAsStream(failName);

import org.springframework.util.ResourceUtils;
File file= ResourceUtils.getFile("classpath:test.txt");

或者

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

獲取文件:classPathResource .getFile();

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

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

這種最容易遇坑,最大的坑就是,用第一種方式讀取,在eclipse,本地調(diào)試,完美運(yùn)行,到linux環(huán)境下,就不行.

首先用獲取路徑的方法this.getClass().getResource("/")+fileName,獲取流的方法this.getClass().getResourceAsStream(failName);

在本地運(yùn)行時(shí),絕壁能找到,你打印出來(lái)路徑,沒(méi)錯(cuò),是咱們eclipse的工作目錄,項(xiàng)目目錄,但是在target目錄下。

現(xiàn)在給你分析為什么去到線上,就GG了,很簡(jiǎn)單,線上內(nèi)嵌的工程,我們只會(huì)放一個(gè)jar文件上去,我理解是jar里面的路徑是獲取不到的,jar是封閉性東西吧,不像文件夾,總不能c:/home/xx.jar/file.txt

讀取jar里面的文件,我們只能用流去讀取,不能用file,文件肯定要牽扯路徑,jar那個(gè)路徑剛剛我已經(jīng)拼出來(lái)了

jar里面文件讀取方式:

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

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

總結(jié)

以上就是本文關(guān)于淺談web項(xiàng)目讀取classpath路徑下面的文件的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

最新評(píng)論

通州市| 弥渡县| 金川县| 旬阳县| 峨眉山市| 苍溪县| 福州市| 喀什市| 龙门县| 崇阳县| 南宁市| 绵阳市| 正镶白旗| 松原市| 永川市| 江孜县| 汨罗市| 伊宁市| 邹平县| 富阳市| 北川| 周口市| 亚东县| 西乌珠穆沁旗| 长岛县| 嵊泗县| 健康| 敦化市| 沂水县| 绥滨县| 德庆县| 丹阳市| 皮山县| 临颍县| 延津县| 荥经县| 丰原市| 临朐县| 涟水县| 确山县| 宁海县|