溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java中g(shù)etResourceAsStream的作用是什么

發(fā)布時間:2021-06-18 17:26:06 來源:億速云 閱讀:531 作者:Leah 欄目:大數(shù)據(jù)

本篇文章為大家展示了 Java中g(shù)etResourceAsStream的作用是什么,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

首先,Java中的getResourceAsStream有以下幾種: 
1. Class.getResourceAsStream(String path) : path 不以’/'開頭時默認(rèn)是從此類所在的包下取資源,以’/'開頭則是從ClassPath根下獲取。其只是通過path構(gòu)造一個絕對路徑,最終還是由ClassLoader獲取資源。 

2. Class.getClassLoader.getResourceAsStream(String path) :默認(rèn)則是從ClassPath根下獲取,path不能以’/'開頭,最終是由ClassLoader獲取資源。 

3. ServletContext. getResourceAsStream(String path):默認(rèn)從WebAPP根目錄下取資源,Tomcat下path是否以’/'開頭無所謂,當(dāng)然這和具體的容器實現(xiàn)有關(guān)。 

4. Jsp下的application內(nèi)置對象就是上面的ServletContext的一種實現(xiàn)。 

其次,getResourceAsStream 用法大致有以下幾種: 

第一: 要加載的文件和.class文件在同一目錄下,例如:com.x.y 下有類me.class ,同時有資源文件myfile.xml 

那么,應(yīng)該有如下代碼: 

me.class.getResourceAsStream("myfile.xml"); 

第二:在me.class目錄的子目錄下,例如:com.x.y 下有類me.class ,同時在 com.x.y.file 目錄下有資源文件myfile.xml 

那么,應(yīng)該有如下代碼: 

me.class.getResourceAsStream("file/myfile.xml"); 

第三:不在me.class目錄下,也不在子目錄下,例如:com.x.y 下有類me.class ,同時在 com.x.file 目錄下有資源文件myfile.xml 

那么,應(yīng)該有如下代碼: 

me.class.getResourceAsStream("/com/x/file/myfile.xml"); 

總結(jié)一下,可能只是兩種寫法 

第一:前面有 “   / ” 

“ / ”代表了工程的根目錄,例如工程名叫做myproject,“ / ”代表了myproject 

me.class.getResourceAsStream("/com/x/file/myfile.xml"); 

第二:前面沒有 “   / ” 

代表當(dāng)前類的目錄 

me.class.getResourceAsStream("myfile.xml"); 

me.class.getResourceAsStream("file/myfile.xml"); 


上述內(nèi)容就是 Java中g(shù)etResourceAsStream的作用是什么,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI