java中獲取文件路徑的幾種方式
2010-07-30 14:23
關於絕對路徑和相對路徑: 絕對路徑就是你的主頁上的文件或目錄在硬盤上真正的路徑,(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 獲取當前工程路徑
|