Java中g(shù)etResourceAsStream用法分析
本文實例講述了Java中g(shù)etResourceAsStream用法。分享給大家供大家參考。具體如下:
(一)Java中的getResourceAsStream有以下幾種情況:
1. Class.getResourceAsStream(String path) :
#path 不以'/'開頭時默認是從此類所在的包下取資源;
#以'/'開頭則是從ClassPath根下獲取,其原理是通過path構(gòu)造一個絕對路徑,最終還是由ClassLoader來獲取資源。
2. Class.getClassLoader.getResourceAsStream(String path) :
#默認則是從ClassPath根下獲取,path不能以'/'開頭,最終是由ClassLoader獲取資源。
3. ServletContext. getResourceAsStream(String path):
#默認從WebAPP根目錄下取資源,Tomcat或Resin#[Web容器]下的path是否以'/'開頭無所謂,當然這也和具體的容器實現(xiàn)有關(guān)。
4. Jsp下的application內(nèi)置對象就是上面的ServletContext的一種實現(xiàn)。
(二)其中g(shù)etResourceAsStream大致有以下幾種用法:
第一: 要加載的文件和.class文件在同一目錄下,例如:com.x.y 下有類me.class ,同時有資源文件myfile.xml
那么,應該有如下代碼:
第二:在me.class目錄的子目錄下,例如:com.x.y 下有類me.class ,同時在 com.x.y.file 目錄下有資源文件myfile.xml
那么,應該有如下代碼:
第三:不在me.class目錄下,也不在子目錄下,例如:com.x.y 下有類me.class ,同時在 com.x.file 目錄下有資源文件myfile.xml
那么,應該有如下代碼:
(三)總結(jié)如下,可能只是兩種寫法
第一:前面有 “ / ”
“ / ”代表了工程的根目錄,例如工程名叫做myproject,“ / ”代表了myproject
第二:前面沒有 “ / ”
代表當前類的目錄
me.class.getResourceAsStream("file/myfile.xml");
希望本文所述對大家的java程序設計有所幫助。
相關(guān)文章
如何解決IDEA使用Tomcat控制臺中文出現(xiàn)亂碼問題
這篇文章主要介紹了如何解決IDEA使用Tomcat控制臺中文出現(xiàn)亂碼問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-09-09Java之idea @NotNull @Nullable 注解使用
這篇文章主要介紹了Java之idea @NotNull @Nullable 注解使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01mybatis generator 配置 反向生成Entity簡單增刪改查(推薦)
這篇文章主要介紹了mybatis generator 配置 反向生成Entity簡單增刪改查(推薦)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-12-12