posts - 110, comments - 101, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
          Java代碼  
          1. <pre id="content-586097673" mb10">一 相對路徑的獲得   
          2. 說明:相對路徑(即不寫明時候到底相對誰)均可通過以下方式獲得(不論是一般的java項目還是web項目)   
          3. String relativelyPath=System.getProperty("user.dir"); 上述相對路徑中,java項目中的文件是相對于項目的根目錄 web項目中的文件路徑視不同的web服務器不同而不同(tomcat是相對于 tomcat安裝目錄/bin)  

            
          Java代碼
          1. 二 類加載目錄的獲得(即當運行時某一類時獲得其裝載目錄) 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目錄下)  

            
          Java代碼  
          1. 三 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.    2 從httpServletRequest出發 String cp11111=request.getSession().getServletContext().getRealPath("/"); 結果形如:D:/工具/Tomcat-6.0/webapps/002_ext/  

            
          Java代碼  
          1. 四 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/  

             
          Java代碼  
          1. 方法二 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/  

             
          Java代碼  
          1. 另外,如果想把文件放在某一包中,則可以 通過以下方式獲得到文件(先定位到該包的最后一級目錄) 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包中的類) 四 屬性文件的讀取: 方法 一 InputStream in = lnew BufferedInputStream( new FileInputStream(name)); Properties p = new Properties(); p.load(in);  

             
          Java代碼  
          1. 注意路徑的問題,做執行之后就可以調用p.getProperty("name")得到對應屬性的值 方法二 Locale locale = Locale.getDefault(); ResourceBundle localResource = ResourceBundle.getBundle("test/propertiesTest", locale); String value = localResource.getString("test"); System.out.println("ResourceBundle: " + value); 工程src目錄下propertiesTest.properties(名字后綴必須為properties)文件內容如下: test=hello word   

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 溧水县| 信阳市| 龙门县| 霍林郭勒市| 青岛市| 循化| 大方县| 巴林左旗| 宝坻区| 尉氏县| 长武县| 阜新| 五常市| 沙湾县| 罗源县| 盐亭县| 色达县| 吉木乃县| 三河市| 扎兰屯市| 滦南县| 陇西县| 英超| 潞西市| 宜都市| 绥棱县| 东城区| 宝兴县| 垦利县| 搜索| 织金县| 樟树市| 石泉县| 沾化县| 同仁县| 旅游| 商城县| 什邡市| 保亭| 徐汇区| 邹城市|