1. 程式人生 > >獲取java專案根目錄

獲取java專案根目錄

一 相對路徑的獲得
說明:相對路徑(即不寫明時候到底相對誰)均可通過以下方式獲得(不論是一般的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中的方法類似,不同的是此方法必須以'/'開頭,參考http://riddickbryant.iteye.com/blog/436693) 
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包中的類)

四 屬性檔案的讀取:

方法 一

InputStream in = lnew BufferedInputStream( new FileInputStream(name));    Properties p = new Properties();   p.load(in);

注意路徑的問題,做執行之後就可以呼叫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

相關推薦

獲取java專案根目錄

一 相對路徑的獲得 說明:相對路徑(即不寫明時候到底相對誰)均可通過以下方式獲得(不論是一般的java專案還是web專案) String relativelyPath=System.getProperty("user.dir");  上述相對路徑中,java專案中的檔案是

JAVA 專案獲取根目錄

java 專案獲取專案根目錄   System.out.println("輸出classpath:"+ System.getProperties().getProperty("user.dir")); java  Web專案獲取classpath根目錄   System.

java獲取專案根目錄

String filePath=ClassUtils.getDefaultClassLoader().getResource("").getPath()打印出來/D:/xiangmu/map_to_face/target/classes/最後輸出為target檔案。最好是傳到

獲取java項目根目錄

txt data popu red int request repl div spa 一 相對路徑的獲得 說明:相對路徑(即不寫明時候到底相對誰)均可通過以下方式獲得(不論是一般的Java項目還是web項目)String relativelyPa

Java專案中有關路徑的獲取方法

1、用Jsp獲取 1-1、獲取檔案的絕對路徑 String file=“檔案”;(例如:data.mdb) String path=application.getRealPath(file); 結果: E:\java_web\workspace.metadata.plugins\or

怎麼獲取web專案的webroot根目錄下面的資料夾的路徑?

在servlet裡面 : //把路徑儲存為圖片 String path=request.getSession().getServletContext().getRealPath("/WebRoot/picture/role.png") ; System.out.println(path)

java專案下資原始檔路徑的獲取

eg:拒絕硬編碼 獲取resources下相關配置檔案 獲取流:this.getClass().getResourceAsStream(“/other/mrmy.properties”),返回值:InputStream 獲取URL:this.getClass().getResour

java專案中key/value通過key獲取value值

public class PropertyRead { public static String read(String name) { return read(name,"/String.properties"); } public static String read(Str

Java獲取當前專案檔案路徑

1.獲取當前專案的實際路徑 String path = System.getProperty("user.dir"); 執行結果:            實際專案路徑:  2.獲取專案配置檔案資訊(application.yml) InputStream

java獲取當前專案的絕對路徑

public class Path { /** * @author snow * @description 得到專案的根目錄的絕對路徑 */ public static String getPath(HttpServlet

IDEA 下Java獲取Tomcat 專案執行路徑問題

專案上使用 request.getSession().getServletContext().getRealPath("") 獲取專案執行路徑,發現得到的是: E:\ideaMyhr\MyHR\13 source_code\MyHR\target\MyHR-0.0.1-S

java獲取當前專案或類路徑

File directory = new File("");// 引數為空 String courseFile = directory.getCanonicalPath(); System.out.println(courseFile);//注意返回的是反

獲取JAVA(WEB)專案路徑的方法

最近的專案涉及了檔案上傳的功能,不可避免的需要獲得檔案路徑的方法。 下面是關於獲取檔案路徑的一些方法。 對於獲取檔案路徑,在Jsp,Servlet,Java中,有不同的方法。 在java類中: 獲取當前的classpath的絕對URI路徑

普通的java專案獲取專案所在路徑

獲取專案根路徑,無論是打包成jar檔案,還是除錯執行時,都能獲取到正確的專案所在目錄。PathUtil.javapackage application.util; /*** * 獲取專案根路徑工具類 * @author Pelin * @time 2016-12-29

Java獲取Tomcat專案路徑

String path=System.getProperty("catalina.home"); 得到path = C:\Program Files\Apache Software Foundatio

JAVA WEB專案目錄結構以及web應用部署的根目錄,編譯路徑和專案根目錄的區別

web應用部署的根目錄,編譯路徑和專案的根目錄有什麼區別? 直接上例子: 你有一個專案,名字叫做testPro 專案放到了你的D盤,目錄結構是這樣的: D:/testPro --src   --main     --webapp       --WEB-INF --targ

獲取JAVA[WEB]專案相關路徑的幾種方法

在jsp和class檔案中呼叫的相對路徑不同。 在jsp裡,根目錄是WebRoot 在class檔案中,根目錄是WebRoot/WEB-INF/classes 當然你也可以用System.getProperty("user.dir")獲取你工程的絕對路徑。 另:在Jsp,Servlet,Java中詳細獲得路

獲取專案根目錄和tomcat路徑

1.http://xxxx.com/demo獲取/demo ServletContextEvent.getServletContext().getContextPath()或request.getContextPath() 2.獲取tomcat的路徑 ServletContextEvent.g

java獲取當前專案及類的路徑方法

File f1 = new File(this.getClass().getResource("/").getPath()); System.out.println("獲取當前類的所在工程路徑"+f1); File f2 = new File(this.getClass().getResource(

java專案中如何利用Dom4j解析XML檔案獲取資料

在以前的學習.net時經常會遇到利用配置檔案來解決專案中一些需要經常變換的資料,比如資料庫的連線字串兒等。這個時候在讀取配置檔案的時候,我們通常會用到一個雷configuration,通過這個類來進行