Java中getResourceAsStream的用法小结
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
Java中g(shù)etResourceAsStream的用法小結(jié)
一、Java中的getResourceAsStream主要有以下三種用法:
1、Class.getResourceAsStream(String path)?
????path 不以’/'開頭時(shí)默認(rèn)是從此類所在的包下取資源,以’/'開頭則是從ClassPath根下獲取。
????其實(shí)是通過path構(gòu)造一個(gè)絕對(duì)路徑,最終還是由ClassLoader獲取資源。
2、Class.getClassLoader.getResourceAsStream(String path)?
????默認(rèn)則是從ClassPath根下獲取,path不能以’/'開頭,最終是由ClassLoader獲取資源。
3、ServletContext.getResourceAsStream(String path)
????默認(rèn)從WebAPP根目錄下取資源,Tomcat下path是否以’/'開頭無所謂,當(dāng)然這和具體的容器實(shí)現(xiàn)有關(guān)。
????Jsp下的application內(nèi)置對(duì)象就是上面的ServletContext的一種實(shí)現(xiàn)。
二、用法示例
? ??1:要加載的文件和.class文件在同一目錄下,例如:com.x.y 下有類me.class ,同時(shí)有資源文件myfile.xml那么,應(yīng)該有如下代碼:
????me.class.getResourceAsStream("myfile.xml");
? ? ?2: 在me.class目錄的子目錄下,例如:com.x.y 下有類me.class ,同時(shí)在 com.x.y.file 目錄下有資源文件myfile.xml? 那么,應(yīng)該有如下代碼:????me.class.getResourceAsStream("file/myfile.xml");
? ??3: 不在me.class目錄下,也不在子目錄下,例如:com.x.y 下有類me.class ,同時(shí)在 com.x.file 目錄下有資源文件myfile.xml, 那么,應(yīng)該有如下代碼:????me.class.getResourceAsStream("/com/x/file/myfile.xml");
????總結(jié)一下,可能只是兩種寫法
? ? 1、前面有 “ / ”,“ / ”代表了工程的根目錄
? ? 2、前面沒有 “/”,代表當(dāng)前類的目錄
轉(zhuǎn)載于:https://my.oschina.net/cloudcoder/blog/275402
總結(jié)
以上是生活随笔為你收集整理的Java中getResourceAsStream的用法小结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java程序员修炼
- 下一篇: 解决在ESXi的虚拟化环境中的FreeN