<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-124  評論-194  文章-0  trackbacks-0

    歸納一些網上取JAVA路徑的方法:

    注明:如果從ANT啟動程序,this.getClass().getResource("")取出來的比較怪,直接用JAVA命令行調試就可成功。
     
    得到classpath和當前類的絕對路徑的一些方法

    ?????????獲得CLASSPATH之外路徑的方法:
    ???????? URL base = this.getClass().getResource(""); //先獲得本類的所在位置,如/home/popeye/testjava/build/classes/net/
    ???????? String path = new File(base.getFile(), "../../../"+name).getCanonicalPath(); //就可以得到/home/popeye/testjava/name

      下面是一些得到classpath和當前類的絕對路徑的一些方法。你可能需要使用其中的一些方法來得到你需要的資源的絕對路徑。

      1.FileTest.class.getResource("")

      得到的是當前類FileTest.class文件的URI目錄。不包括自己!

      如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/com/test/

      2.FileTest.class.getResource("/")

      得到的是當前的classpath的絕對URI路徑。

      如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/

      3.Thread.currentThread().getContextClassLoader().getResource("")

      得到的也是當前ClassPath的絕對URI路徑。

      如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/

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

      得到的也是當前ClassPath的絕對URI路徑。

      如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/

      5.ClassLoader.getSystemResource("")

      得到的也是當前ClassPath的絕對URI路徑。

      如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/

      我推薦使用Thread.currentThread().getContextClassLoader().getResource("")來得到當前的classpath的絕對路徑的URI表示法。

    ??? 在Web應用程序中,我們一般通過ServletContext.getRealPath("/")方法得到Web應用程序的根目錄的絕對路徑。這樣,我們只需要提供相對于Web應用程序根目錄的路徑,就可以構建出定位資源的絕對路徑。
    ???
    ???


    注意點:
    ??? 1.盡量不要使用相對于System.getProperty("user.dir")當前用戶目錄的相對路徑。這是一顆定時炸彈,隨時可能要你的命。

      2.盡量使用URI形式?
    的絕對路徑資源。它可以很容易的轉變為URI,URL,File對象。

      3.盡量使用相對classpath的相對路徑。不要使用絕對路徑。使用上面ClassLoaderUtil類的public static URL getExtendResource(String relativePath)方法已經能夠使用相對于classpath的相對路徑定位所有位置的資源。

      4.絕對不要使用硬編碼的絕對路徑。因為,我們完全可以使用ClassLoader類的getResource("")方法得到當前classpath的絕對路徑。

    使用硬編碼的絕對路徑是完全沒有必要的!它一定會讓你死的很難看!程序將無法移植!

      如果你一定要指定一個絕對路徑,那么使用配置文件,也比硬編碼要好得多!

      當然,我還是推薦你使用程序得到classpath的絕對路徑來拼資源的絕對路徑

    posted on 2007-03-21 11:43 我愛佳娃 閱讀(4760) 評論(2)  編輯  收藏 所屬分類: JAVA基礎

    評論:
    # re: 獲取JAVA路徑,包括CLASSPATH外的路徑 2009-01-20 19:13 | 旺財
    多謝!  回復  更多評論
      
    # re: 獲取JAVA路徑,包括CLASSPATH外的路徑 2009-03-11 20:02 | 天壤Windy
    感謝下..這個鬼問題整了半天了  回復  更多評論
      
    主站蜘蛛池模板: 国产国拍精品亚洲AV片| 免费看一区二区三区四区| 亚洲真人无码永久在线观看| 亚洲最大中文字幕| 内射干少妇亚洲69XXX| 中文字幕亚洲精品资源网| 麻豆亚洲av熟女国产一区二| 久久夜色精品国产噜噜亚洲AV| 亚洲国产精品无码中文字| 久久亚洲国产中v天仙www| 无码乱人伦一区二区亚洲一| 亚洲成在人天堂在线| 亚洲视频在线观看网站| 亚洲成a人片在线观看中文!!! | 99爱在线精品免费观看| 日本在线高清免费爱做网站| 最近的中文字幕大全免费版| 精品国产精品久久一区免费式| 国产精品麻豆免费版| 亚洲AV无码一区二区三区国产| 亚洲日韩精品无码专区网站| 日韩亚洲欧洲在线com91tv| 久久丫精品国产亚洲av| 亚洲午夜电影一区二区三区| 亚洲欧美乱色情图片| 黄页网站在线观看免费| 国产一级a毛一级a看免费视频 | 日本特黄特色AAA大片免费| 国产三级在线免费观看| 你懂的免费在线观看网站| 在线a免费观看最新网站| 18禁成年无码免费网站无遮挡| 国产精品无码素人福利免费| 亚洲综合另类小说色区色噜噜| 亚洲精品蜜桃久久久久久| 亚洲一本之道高清乱码| 国产亚洲男人的天堂在线观看 | 久久亚洲精品专区蓝色区| 欧洲亚洲综合一区二区三区| 久久国产一片免费观看| 中文字幕成人免费视频|