Java中getResourceAsStream用法剖析。本站提示廣大學習愛好者:(Java中getResourceAsStream用法剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中getResourceAsStream用法剖析正文
本文實例講述了Java中getResourceAsStream用法。分享給年夜家供年夜家參考。詳細以下:
(一)Java中的getResourceAsStream有以下幾種情形:
1. Class.getResourceAsStream(String path) :
#path 不以'/'開首時默許是從此類地點的包下取資本;
#以'/'開首則是從ClassPath根下獲得,其道理是經由過程path結構一個相對途徑,終究照樣由ClassLoader來獲得資本。
2. Class.getClassLoader.getResourceAsStream(String path) :
#默許則是從ClassPath根下獲得,path不克不及以'/'開首,終究是由ClassLoader獲得資本。
3. ServletContext. getResourceAsStream(String path):
#默許從WebAPP根目次下取資本,Tomcat或Resin#[Web容器]下的path能否以'/'開首無所謂,固然這也和詳細的容器完成有關。
4. Jsp下的application內置對象就是下面的ServletContext的一種完成。
(二)個中getResourceAsStream年夜致有以下幾種用法:
第一: 要加載的文件和.class文件在統一目次下,例如:com.x.y 下有類me.class ,同時有資本文件myfile.xml
那末,應當有以下代碼:
me.class.getResourceAsStream("myfile.xml");
第二:在me.class目次的子目次下,例如:com.x.y 下有類me.class ,同時在 com.x.y.file 目次下有資本文件myfile.xml
那末,應當有以下代碼:
me.class.getResourceAsStream("file/myfile.xml");
第三:不在me.class目次下,也不在子目次下,例如:com.x.y 下有類me.class ,同時在 com.x.file 目次下有資本文件myfile.xml
那末,應當有以下代碼:
me.class.getResourceAsStream("/com/x/file/myfile.xml");
(三)總結以下,能夠只是兩種寫法
第一:後面有 “ / ”
“ / ”代表了工程的根目次,例如工程名叫做myproject,“ / ”代表了myproject
me.class.getResourceAsStream("/com/x/file/myfile.xml");
第二:後面沒有 “ / ”
代表以後類的目次
me.class.getResourceAsStream("myfile.xml");
me.class.getResourceAsStream("file/myfile.xml");
願望本文所述對年夜家的java法式設計有所贊助。