国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Java > 正文

淺談web項目讀取classpath路徑下面的文件

2024-07-13 10:16:23
字體:
供稿:網(wǎng)友

本文主要研究的是web項目下讀取java/269672.html">classpath路徑下的文件的問題,具體如下。

首先分兩大類按web容器分類

一種是普通的web項目,像用Tomcat容器,特點是壓縮包隨著容器的啟動會解壓縮成一個文件夾,項目訪問的時候,實際是去訪問文件夾,而不是jar或者war包。

這種的無論你是用獲取路徑的方法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容器,其特點是只有一個jar文件,在容器啟動后不會解壓縮,項目實際訪問時jar包或者war包

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

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

在本地運行時,絕壁能找到,你打印出來路徑,沒錯,是咱們eclipse的工作目錄,項目目錄,但是在target目錄下。

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

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

jar里面文件讀取方式:

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

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

總結(jié)

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


注:相關(guān)教程知識閱讀請移步到JAVA教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 洪泽县| 天柱县| 开封县| 沙雅县| 金平| 霍林郭勒市| 余江县| 尉氏县| 新密市| 宝坻区| 河南省| 蛟河市| 晋宁县| 乌什县| 鄯善县| 开阳县| 益阳市| 封丘县| 司法| 哈巴河县| 阿瓦提县| 双桥区| 马鞍山市| 辽宁省| 宜君县| 大丰市| 铜陵市| 剑阁县| 柳江县| 游戏| 奎屯市| 彩票| 岐山县| 砚山县| 含山县| 陵水| 通城县| 米脂县| 烟台市| 昆明市| 谷城县|