java spring的相對路徑,絕對路徑等轉

一、相對路徑

關鍵字:基準目錄

1、Spring中基準目錄

      ClassPathXmlApplicationContext

                                                         默認:classpath

                                  加classpath前綴 :classpath          

                             

      FileSystemXmlApplicationContext

                                                        默認:項目根目錄

                                 加classpath前綴:classpath


二、絕對路徑

1、獲取方法(假設在類 FileTest中)

    當前類FileTest.class 的絕對目錄:FileTest.class.getResource("")

    

  •     當前classpath的絕對目錄:

                                                    FileTest.class.getResource("/");

                                                    FileTest.class.getClassLoader().getResource("")

                                                    Thread.currentThread().getContextClassLoader().getResource("")  推薦

                                                    ClassLoader.getSystemResource("");

                                                   

    

2、Web 應用程序

       Web應用程序根目錄:    ServletContext.getRealPath("/")


三、不同類型資源訪問方式總結

1、 classpath

  •        URL  url  =  getClassLoader().getResource("java/lang/String.class")
  •        InputStream  inputStream  = getClassLoader().getResourceAsStream("java/lang/String.class")

2、web 應用

  •        URL url  = servletContext.getResource("/WEB-INF/web.xml") 
  •        InputStream  inputStream = servletContext.getResourceAsStream("/WEB-INF/web.xml")

3、文件系統

  •       File  file  =  new File("c:\\test.txt");
  •       InputStream inputStream = new FileInputStream(resourceFile)                                  

 4、訪問Jar/Zip 文件中的資源

         URL  jarUrl  = new  File("/lib/rt.lib"").toURI().toURL();

         URL  resourceUrl  =  new URL("jar:" + jarURL +“!/java/lang/String.class”);

         InputStream  inputStream  = resourceUrl.openStream();


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章