日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java如何获得当前路径_在java中如何得到当前路径

發(fā)布時(shí)間:2025/3/8 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java如何获得当前路径_在java中如何得到当前路径 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

歸納一些網(wǎng)上取java路徑的方法:

注明:如果從ANT啟動(dòng)程序,this.getClass().getResource("")取出來的比較怪,直接用JAVA命令行調(diào)試就可成功。

得到classpath和當(dāng)前類的絕對(duì)路徑的一些方法

獲得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和當(dāng)前類的絕對(duì)路徑的一些方法。你可能需要使用其中的一些方法來得到你需要的資源的絕對(duì)路徑。

1.FileTest.class.getResource("")

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

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

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

得到的是當(dāng)前的classpath的絕對(duì)URI路徑。

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

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

得到的也是當(dāng)前ClassPath的絕對(duì)URI路徑。

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

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

得到的也是當(dāng)前ClassPath的絕對(duì)URI路徑。

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

5.ClassLoader.getSystemResource("")

得到的也是當(dāng)前ClassPath的絕對(duì)URI路徑。

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

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

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

注意點(diǎn):

1.盡量不要使用相對(duì)于System.getProperty("user.dir")當(dāng)前用戶目錄的相對(duì)路徑。這是一顆定時(shí)炸彈,隨時(shí)可能要你的命。

2.盡量使用URI形式的絕對(duì)路徑資源。它可以很容易的轉(zhuǎn)變?yōu)閁RI,URL,File對(duì)象。

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

4.絕對(duì)不要使用硬編碼的絕對(duì)路徑。因?yàn)?#xff0c;我們完全可以使用ClassLoader類的getResource("")方法得到當(dāng)前classpath的絕對(duì)路徑。

使用硬編碼的絕對(duì)路徑是完全沒有必要的!它一定會(huì)讓你死的很難看!程序?qū)o法移植!

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

當(dāng)然,還是推薦你使用程序得到classpath的絕對(duì)路徑來拼資源的絕對(duì)路徑.

總結(jié)

以上是生活随笔為你收集整理的java如何获得当前路径_在java中如何得到当前路径的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。