很多朋友都想了解java如何獲取當(dāng)前項(xiàng)目的路徑?下面就一起來(lái)了解一下吧~
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的云陽(yáng)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
在jsp和class文件中調(diào)用的相對(duì)路徑不同。
在jsp里,根目錄是WebRoot
在class文件中,根目錄是WebRoot/WEB-INF/classes 也可以選用System.getProperty("user.dir")獲取工程的絕對(duì)路徑。
1.jsp中取得路徑:
以工程名為T(mén)EST為例:
(1)得到包含工程名的當(dāng)前頁(yè)面全路徑:request.getRequestURI() 結(jié)果:/TEST/test.jsp (2)得到工程名:request.getContextPath() 結(jié)果:/TEST (3)得到當(dāng)前頁(yè)面所在目錄下全名稱:request.getServletPath() 結(jié)果:如果頁(yè)面在jsp目錄下?/TEST/jsp/test.jsp (4)得到頁(yè)面所在服務(wù)器的全路徑:application.getRealPath("頁(yè)面.jsp") 結(jié)果:D: esinwebappsTEST est.jsp (5)得到頁(yè)面所在服務(wù)器的絕對(duì)路徑:absPath=new?java.io.File(application.getRealPath(request.getRequestURI())).getParent(); 結(jié)果:D: esinwebappsTEST
2.在class類(lèi)中取得路徑:
(1)類(lèi)的絕對(duì)路徑:Class.class.getClass().getResource("/").getPath() 結(jié)果:/D:/TEST/WebRoot/WEB-INF/classes/pack/ (2)得到工程的路徑:System.getProperty("user.dir") 結(jié)果:D:TEST
3.在Servlet中取得路徑: (1)得到工程目錄:request.getSession().getServletContext().getRealPath("")?參數(shù)可具體到包名。 結(jié)果:E:TomcatwebappsTEST (2)得到IE地址欄地址:request.getRequestURL() 結(jié)果: (3)得到相對(duì)地址:request.getRequestURI() 結(jié)果:/TEST/test
File類(lèi)有兩個(gè)常用方法可以得到文件路徑一個(gè)是:getCanonicalPath(),另一個(gè)是:getAbsolutePath(),可以通過(guò)File類(lèi)的實(shí)例調(diào)用這兩個(gè)方法例如file.getAbsolutePath()其中file是File的實(shí)例對(duì)象。下面是一個(gè)具體例子:
public?class?PathTest
{
public?static?void?main(String[]?args)
{
File?file?=?new?File(".\\src\\baidu");
System.out.println(file.getAbsolutePath());
try
{
System.out.println(file.getCanonicalPath());
}?catch?(IOException?e)
{
e.printStackTrace();
}
}
}
getAbsolutePath()和getCanonicalPath()的不同之處在于,getCanonicalPath()得到的是一個(gè)規(guī)范的路徑,而getAbsolutePath()是用構(gòu)造File對(duì)象的路徑+當(dāng)前工作目錄。例如在上面的例子中.(點(diǎn)號(hào))代表當(dāng)前目錄。getCanonicalPath()就會(huì)把它解析為當(dāng)前目錄但是getAbsolutePath()會(huì)把它解析成為目錄名字(目錄名字是點(diǎn)號(hào))。
下面是上面程序在我電腦上的輸出:
G:\xhuoj\konw\.\src\baidu
G:\xhuoj\konw\src\baidu
File f = new File(this.getClass().getResource("").getPath());
System.out.println(f);結(jié)果:C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin\com\test
獲取當(dāng)前類(lèi)的絕對(duì)路徑;第二種:File directory = new File("");//參數(shù)為空
String courseFile = directory.getCanonicalPath() ;
System.out.println(courseFile);結(jié)果:C:\Documents and Settings\Administrator\workspace\projectName
獲取當(dāng)前類(lèi)的所在工程路徑;第三種:URL xmlpath = this.getClass().getClassLoader().getResource("selected.txt");
System.out.println(xmlpath);結(jié)果:file:/C:/Documents%20and%20Settings/Administrator/workspace/projectName/bin/selected.txt
獲取當(dāng)前工程src目錄下selected.txt文件的路徑第四種:System.out.println(System.getProperty("user.dir"));結(jié)果:C:\Documents and Settings\Administrator\workspace\projectName
獲取當(dāng)前工程路徑第五種:System.out.println( System.getProperty("java.class.path"));結(jié)果:C:\Documents and Settings\Administrator\workspace\projectName\bin獲取當(dāng)前工程路徑
分享標(biāo)題:java代碼獲取項(xiàng)路徑 java獲取url路徑
文章來(lái)源:http://www.chinadenli.net/article44/dosiiee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站收錄、網(wǎng)站排名、建站公司、定制開(kāi)發(fā)、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)