java獲取當前路徑的幾種方法

jopen 9年前發布 | 17K 次閱讀 Java開發 Java

1、利用System.getProperty()函數獲取當前路徑: 
System.out.println(System.getProperty("user.dir"));//user.dir指定了當前的路徑 

2、使用File提供的函數獲取當前路徑: 
File directory = new File("");//設定為當前文件夾 
try{ 
    System.out.println(directory.getCanonicalPath());//獲取標準的路徑 
    System.out.println(directory.getAbsolutePath());//獲取絕對路徑 
}catch(Exceptin e){} 

File.getCanonicalPath()和File.getAbsolutePath()大約只是對于new File(".")和new File("..")兩種路徑有所區別。 

對于getCanonicalPath()函數,“."就表示當前的文件夾,而”..“則表示當前文件夾的上一級文件夾 

對于getAbsolutePath()函數,則不管”.”、“..”,返回當前的路徑加上你在new File()時設定的路徑 

至于getPath()函數,得到的只是你在new File()時設定的路徑 


比如當前的路徑為 C:/test : 
File directory = new File("abc"); 
directory.getCanonicalPath(); //得到的是C:/test/abc 
directory.getAbsolutePath();    //得到的是C:/test/abc 
direcotry.getPath();                    //得到的是abc 

File directory = new File("."); 
directory.getCanonicalPath(); //得到的是C:/test 
directory.getAbsolutePath();    //得到的是C:/test/. 
direcotry.getPath();                    //得到的是. 

File directory = new File(".."); 
directory.getCanonicalPath(); //得到的是C:/ 
directory.getAbsolutePath();    //得到的是C:/test/.. 
direcotry.getPath();                    //得到的是.. 


另外:System.getProperty()中的字符串參數如下: 
System.getProperty()參數大全 

java.version                                Java Runtime Environment version  

java.vendor                                Java Runtime Environment vendor  

java.vendor.url                           Java vendor URL  

java.home                                Java installation directory  

java.vm.specification.version   Java Virtual Machine specification version  

java.vm.specification.vendor    Java Virtual Machine specification vendor  

java.vm.specification.name      Java Virtual Machine specification name  

java.vm.version                        Java Virtual Machine implementation version  

java.vm.vendor                        Java Virtual Machine implementation vendor  

java.vm.name                        Java Virtual Machine implementation name  

java.specification.version        Java Runtime Environment specification version  

java.specification.vendor         Java Runtime Environment specification vendor  

java.specification.name           Java Runtime Environment specification name  

java.class.version                    Java class format version number  

java.class.path                      Java class path  

java.library.path                 List of paths to search when loading libraries  

java.io.tmpdir                       Default temp file path  

java.compiler                       Name of JIT compiler to use  

java.ext.dirs                       Path of extension directory or directories  

os.name                              Operating system name  

os.arch                                  Operating system architecture  

os.version                       Operating system version  

file.separator                         File separator ("/" on UNIX)  

path.separator                  Path separator (":" on UNIX)  

line.separator                       Line separator ("/n" on UNIX)  

user.name                        User’s account name  

user.home                              User’s home directory  

user.dir                               User’s current working directory

JAVA中獲取路徑

關鍵字: java中獲取路徑
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() 
結果:http://localhost:8080/TEST/test 
(3)得到相對地址:request.getRequestURI() 
結果:/TEST/test 
</div>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!