File directory = new File("abc"); // 對於getCanonicalPath()函數,「."就表示當前的文件夾,而」..「則表示當前文件夾的上一級文件夾 directory.getCanonicalPath(); //獲得的是C:/test/abc // 對於getAbsolutePath()函數,則無論」.」,「..」,返回當前的路徑加上你在new File()時設定的路徑 directory.getAbsolutePath(); //獲得的是C:/test/abc // 至於getPath()函數,獲得的只是你在new File()時設定的路徑 direcotry.getPath(); //獲得的是abc System.out.println(System.getProperty("user.dir"));//r指定了當前的路徑
以工程名爲TEST爲例:java
//(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
3.在類中取得路徑:web
//(1)類的絕對路徑: Class.class.getClass().getResource("/").getPath() //結果:/D:/TEST/WebRoot/WEB-INF/classes/pack/ //(2)獲得工程的路徑: System.getProperty("user.dir") //結果:D:/TEST
4.在Servlet中取得路徑:服務器
//(1)獲得工程目錄: request.getSession().getServletContext().getRealPath("") //結果:E:/Tomcat/webapps/TEST //(2)獲得IE地址欄地址: request.getRequestURL() //結果:http://localhost:8080/TEST/test //(3)獲得相對地址: request.getRequestURI() //結果:/TEST/test