Java中使用的路徑分為兩張:絕對路徑,相對路徑。歸根結底,Java本質上隻能使用絕對路徑來尋找資源。所有的相對路徑尋找資源的方法,都不過是一些便利方法。不過是API在底層幫助我們建構了絕對路徑,進而找到資源的!
相對路徑:相對與某個基準目錄的路徑。包含Web的相對路徑(HTML中的相對目錄),例如:在
Servlet中,”/”代表Web應用的根目錄。和實體路徑的相對表示。例如:”. /” 代表目前目錄,
“../”代表上級目錄。這種類似的表示,也是屬于相對路徑。
絕對路徑:絕對路徑就是你的首頁上的檔案或目錄在硬碟上真正的路徑,(URL和實體路徑)例如:
C:\xyz\test.txt 代表了test.txt檔案的絕對路徑。http://www.sun.com/index.htm也代表了一個
URL絕對路徑。
//Class檔案所在路徑
System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));
file:/C:/Users/Administrator/Workspaces/MyEclipse%20Professional/test/bin/System.out.println(test.class.getClassLoader().getResource(""));System.out.println(ClassLoader.getSystemResource(""));file:/C:/Users/Administrator/Workspaces/MyEclipse%20Professional/test/bin/System.out.println(test.class.getResource(""));file:/C:/Users/Administrator/Workspaces/MyEclipse%20Professional/test/bin/System.out.println(test.class.getResource("/"));file:/C:/Users/Administrator/Workspaces/MyEclipse%20Professional/test/bin/com/test/System.out.println(new File("/").getAbsolutePath());file:/C:/Users/Administrator/Workspaces/MyEclipse%20Professional/test/bin/System.out.println(System.getProperty("user.dir"));C:\路徑問題可自行調試,此處不再贅述。C:\Users\Administrator\Workspaces\MyEclipse Professional\test