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和java  script  中的相對地址,他們是由客戶端瀏覽器解析的) 

第一種: 
html

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  獲取當前工程路徑  這些都是針對當前工程的,應該還有其餘方式的,歡迎補充! 
相關文章
相關標籤/搜索