1. 程式人生 > >java中獲取檔案路徑的幾種方式

java中獲取檔案路徑的幾種方式

關於絕對路徑和相對路徑: 
絕對路徑就是你的主頁上的檔案或目錄在硬碟上真正的路徑,(URL和物理路徑)例如:C:xyz est.txt 代表了test.txt檔案的絕對路徑。http://www.sun.com/index.htm也代表了一個URL絕對路徑。相對路徑:相對與某個基準目錄的路徑。包含Web的相對路徑(HTML中的相對目錄),例如:在Servlet中,"/"代表Web應用的跟目錄。和物理路徑的相對錶示。例如:"./" 代表當前目錄,"../"代表上級目錄。這種類似的表示,也是屬於相對路徑。另外關於URI,URL,URN等內容,請參考RFC相關文件標準。RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,(http://www.ietf.org/rfc/rfc2396.txt)2.關於JSP/Servlet中的相對路徑和絕對路徑。2.1伺服器端的地址伺服器端的相對地址指的是相對於你的web應用的地址,這個地址是在伺服器端解析的(不同於html和javascript中的相對地址,他們是由客戶端瀏覽器解析的) 

第一種: 
File f = new File(this.getClass().getResource("/").getPath()); 
System.out.println(f); 
結果: 
C:/Documents%20and%20Settings/Administrator/workspace/projectName/bin 
獲取當前類的所在工程路徑; 
如果不加“/” 
File f = new File(this.getClass().getResource("").getPath()); 
System.out.println(f); 
結果: 
C:/Documents%20and%20Settings/Administrator/workspace/projectName/bin/com/test 
獲取當前類的絕對路徑; 

第二種: 
File directory = new File("");//引數為空 
String courseFile = directory.getCanonicalPath() ; 
System.out.println(courseFile); 
結果: 
C:/Documents and Settings/Administrator/workspace/projectName 
獲取當前類的所在工程路徑; 

第三種: 
URL xmlpath = this.getClass().getClassLoader().getResource("selected.txt"); 
System.out.println(xmlpath); 
結果: 
file:/C:/Documents%20and%20Settings/Administrator/workspace/projectName/bin/selected.txt 
獲取當前工程src目錄下selected.txt檔案的路徑 

第四種: 
System.out.println(System.getProperty("user.dir")); 
結果: 
C:/Documents and Settings/Administrator/workspace/projectName 
獲取當前工程路徑 

第五種: 
System.out.println( System.getProperty("java.class.path")); 
結果: 
C:/Documents and Settings/Administrator/workspace/projectName/bin 
獲取當前工程路徑