淺談Java工程讀取resources中資源文件路徑的問題
正常在Java工程中讀取某路徑下的文件時,可以采用絕對路徑和相對路徑,絕對路徑?jīng)]什么好說的,相對路徑,即相對于當(dāng)前類的路徑。在本地工程和服務(wù)器中讀取文件的方式有所不同,以下圖配置文件為例。
本地讀取資源文件
java類中需要讀取properties中的配置文件,可以采用文件(File)方式進行讀?。?/p>
File file = new File("src/main/resources/properties/basecom.properties"); InputStream in = new FileInputStream(file);
當(dāng)在eclipse中運行(不部署到服務(wù)器上),可以讀取到文件。
服務(wù)器(Tomcat)讀取資源文件
當(dāng)工程部署到Tomcat中時,按照上邊方式,則會出現(xiàn)找不到該文件路徑的異常。經(jīng)搜索資料知道,Java工程打包部署到Tomcat中時,properties的路徑變到頂層(classes下):
并且,此時讀取文件需要采用流(stream)的方式讀取,如下:
InputStream in = this.getClass().getResourceAsStream("/properties/basecom.properties");
其中properties前的斜杠,相對于調(diào)用類,共同的頂層路徑。
以上這篇淺談Java工程讀取resources中資源文件路徑的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
- 日常開發(fā)中,我們很多時候需要用到Java?8的Lambda表達式,它允許把函數(shù)作為一個方法的參數(shù),讓我們的代碼更優(yōu)雅、更簡潔。所以整理了一波工作中常用的Lambda表達式??赐暌欢〞袔椭?/div> 2023-03-03
關(guān)于Java Spring三級緩存和循環(huán)依賴的深入理解
對于循環(huán)依賴,我相信讀者無論只是聽過也好,還是有過了解也好,至少都有所接觸。但是我發(fā)現(xiàn)目前許多博客對于循環(huán)依賴的講解并不清楚,都提到了Spring的循環(huán)依賴解決方案是三級緩存,但是三級緩存每一級的作用是什么,很多博客都沒有提到,本篇文章帶你深入了解2021-09-09java案例實戰(zhàn)之字符串轉(zhuǎn)換為二進制
最近遇到個需求,要求編寫一個程序,從鍵盤錄入一個字符串,將字符串轉(zhuǎn)換為二進制數(shù),下面這篇文章主要給大家介紹了關(guān)于java字符串轉(zhuǎn)換為二進制的相關(guān)資料,需要的朋友可以參考下2023-06-06MyBatis-Plus條件構(gòu)造器Wrapper應(yīng)用實例
QueryWrapper是用于查詢的Wrapper條件構(gòu)造器,可以通過它來構(gòu)建SELECT語句中的WHERE條件,這篇文章主要介紹了MyBatis-Plus數(shù)據(jù)表操作條件構(gòu)造器Wrapper,需要的朋友可以參考下2023-09-09最新評論