国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

關于JAVA工程路徑的問題

2019-11-17 04:00:26
字體:
來源:轉載
供稿:網友
一 相對路徑的獲得
    說明:相對路徑(即不寫明時候到底相對誰)均可通過以下方式獲得(不論是一般的java項目還是web項目)
         String relativelyPath=System.getPRoperty("user.dir");
        上述相對路徑中,java項目中的文件是相對于項目的根目錄
        web項目中的文件路徑視不同的web服務器不同而不同(tomcat是相對于 tomcat安裝目錄/bin)


二 類加載目錄的獲得(即當運行時某一類時獲得其裝載目錄)
      1.1)通用的方法一(不論是一般的java項目還是web項目,先定位到能看到包路徑的第一級目錄)
        
        InputStream is=TestAction.class.getClassLoader().getResourceAsStream("test.txt");
                  (test.txt文件的路徑為 項目名/src/test.txt;類TestAction所在包的第一級目錄位于src目錄下)
        
        上式中將TestAction,test.txt替換成對應成相應的類名和文件名字即可

        1.2)通用方法二 (此方法和1.1中的方法類似,不同的是此方法必須以'/'開頭)
             InputStream is=Test1.class.getResourceAsStream("/test.txt");
                      (test.txt文件的路徑為 項目名/src/test.txt,類Test1所在包的第一級目錄位于src目錄下)

    


三 web項目根目錄的獲得(發布之后)
    1 從servlet出發

    可建立一個servlet在其的init方法中寫入如下語句
      ServletContext s1=this.getServletContext();
   String temp=s1.getRealPath("/"); (關鍵)
    結果形如:D:/工具/Tomcat-6.0/webapps/002_ext/ (002_ext為項目名字)

                     如果是調用了s1.getRealPath("")則輸出D:/工具/Tomcat-6.0/webapps/002_ext(少了一個"/")

   2 從httpServletRequest出發

             String cp11111=request.getsession().getServletContext().getRealPath("/");

      結果形如:D:/工具/Tomcat-6.0/webapps/002_ext/



四 classpath的獲取(在Eclipse中為獲得src或者classes目錄的路徑)

    方法一   Thread.currentThread().getContextClassLoader().getResource("").getPath()


eg: String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
          System.out.println("t---"+t);

                      輸出:t---/E:/order/002_ext/WebRoot/WEB-INF/classes/




   方法二     JdomParse.class.getClassLoader().getResource("").getPath() (JdomParse為src某一個包中的類,下同)

                 eg:String p1=JdomParse.class.getClassLoader().getResource("").getPath();
       System.out.println("JdomParse.class.getClassLoader().getResource--"+p1);

   輸出: JdomParse.class.getClassLoader().getResource--/E:/order/002_ext/WebRoot/WEB-INF/classes/


另外,如果想把文件放在某一包中,則可以 通過以下方式獲得到文件(先定位到該包的最后一級目錄)

        eg String p2=JdomParse.class.getResource("").getPath();
         System.out.println("JdomParse.class.getResource---"+p2);

   輸出: JdomParse.class.getResource---/E:/order/002_ext/WebRoot/WEB-INF/classes/jdom/ (JdomParse為src目錄下jdom包中的類)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿勒泰市| 祁连县| 永仁县| 武乡县| 社会| 昌黎县| 许昌市| 应城市| 左云县| 吉安县| 乡宁县| 科技| 合川市| 沾益县| 长泰县| 新和县| 木里| 阳江市| 齐河县| 麦盖提县| 翼城县| 革吉县| 吴堡县| 双流县| 铁力市| 龙州县| 肇州县| 盈江县| 东莞市| 措美县| 耒阳市| 呼伦贝尔市| 汉寿县| 宁城县| 乐安县| 浦县| 青铜峡市| 读书| 榆林市| 富民县| 全椒县|