本文目錄一覽:
java中怎樣獲取當前路徑的絕對路徑
在jsp和class文件中調用的相對路徑不同。在jsp里,根目錄是WebRoot 在class文件中,根目錄是WebRoot/WEB-INF/classes 當然你也可以用System.getProperty(“user.dir”)獲取工程的絕對路徑。
另:在Jsp,Servlet,Java中詳細獲得路徑的方法!
1.jsp中取得路徑:
以工程名為TEST為例:
(1)得到包含工程名的當前頁面全路徑:request.getRequestURI()
結果:/TEST/test.jsp
(2)得到工程名:request.getContextPath()
結果:/TEST
(3)得到當前頁面所在目錄下全名稱:request.getServletPath()
結果:如果頁面在jsp目錄下 /TEST/jsp/test.jsp
(4)得到頁面所在服務器的全路徑:application.getRealPath(“頁面.jsp”)
結果:D:\resin\webapps\TEST\test.jsp
(5)得到頁面所在服務器的絕對路徑:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
結果:D:\resin\webapps\TEST
2.在類中取得路徑:
(1)類的絕對路徑:Class.class.getClass().getResource(“/”).getPath()
結果:/D:/TEST/WebRoot/WEB-INF/classes/pack/
(2)得到工程的路徑:System.getProperty(“user.dir”)
結果:D:\TEST
3.在Servlet中取得路徑:
(1)得到工程目錄:request.getSession().getServletContext().getRealPath(“”) 參數可具體到包名。
結果:E:\Tomcat\webapps\TEST
(2)得到IE地址欄地址:request.getRequestURL()
結果:
(3)得到相對地址:request.getRequestURI()
結果:/TEST/test
JAVA中絕對路徑和目錄有什麼區別?
絕對路徑:
絕對路徑就是你的主頁上的文件或目錄在硬盤上真正的路徑,(url和物理路徑)例如:
c:\xyz\test.txt
代表了test.txt文件的絕對路徑。也代表了一個url絕對路徑。
相對路徑:
相對與某個基準目錄的路徑。包含web的相對路徑(html中的相對目錄),例如:在
servlet中,”/”代表web應用的根目錄。和物理路徑的相對表示,例如:”./”
代表當前目錄,
“../”代表上級目錄。這種類似的表示,也是屬於相對路徑。
java如何獲取類的絕對路徑
1 用servlet獲取
1.1 獲取項目的絕對路徑
request.getSession().getServletContext().getRealPath(“”)
1.2 獲取瀏覽器地址
request.getRequestURL()
1.3 獲取當前文件的絕對路徑
request.getSession().getServletContext().getRealPath(request.getRequestURI())
2.獲取當前的classpath路徑
String a2=類名.class.getResource(“”).toString();
String a3=DBConnection.class.getResource(“/”).toString();
String a4=DBConnection.class.getClassLoader().getResource(“”).toString();
String t=Thread.currentThread().getContextClassLoader().getResource(“”).getPath();
//輸出很好理解
3、獲取文件的絕對路徑
String t=Thread.currentThread().getContextClassLoader().getResource(“”).getPath();
int num=t.indexOf(“.metadata”);
String path=t.substring(1,num).replace(‘/’, ‘\\’)+”項目名\\WebContent\\文件”;
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/206018.html