Java中獲取當(dāng)前路徑的幾種方法總結(jié)
Java中獲取當(dāng)前路徑的幾種方法總結(jié)
1、利用System.getProperty()函數(shù)獲取當(dāng)前路徑:
System.out.println(System.getProperty("user.dir"));//user.dir指定了當(dāng)前的路徑
2、使用File提供的函數(shù)獲取當(dāng)前路徑:
File directory = new File("");//設(shè)定為當(dāng)前文件夾 try{ System.out.println(directory.getCanonicalPath());//獲取標(biāo)準(zhǔn)的路徑 System.out.println(directory.getAbsolutePath());//獲取絕對(duì)路徑 }catch(Exceptin e){}
File.getCanonicalPath()和File.getAbsolutePath()大約只是對(duì)于new File(".")和new File("..")兩種路徑有所區(qū)別。
# 對(duì)于getCanonicalPath()函數(shù),“."就表示當(dāng)前的文件夾,而”..“則表示當(dāng)前文件夾的上一級(jí)文件夾
# 對(duì)于getAbsolutePath()函數(shù),則不管”.”、“..”,返回當(dāng)前的路徑加上你在new File()時(shí)設(shè)定的路徑
# 至于getPath()函數(shù),得到的只是你在new File()時(shí)設(shè)定的路徑
比如當(dāng)前的路徑為 C:/test :
File directory = new File("abc"); directory.getCanonicalPath(); //得到的是C:/test/abc directory.getAbsolutePath(); //得到的是C:/test/abc direcotry.getPath(); //得到的是abc File directory = new File("."); directory.getCanonicalPath(); //得到的是C:/test directory.getAbsolutePath(); //得到的是C:/test/. direcotry.getPath(); //得到的是. File directory = new File(".."); directory.getCanonicalPath(); //得到的是C:/ directory.getAbsolutePath(); //得到的是C:/test/.. direcotry.getPath(); //得到的是..
另外:System.getProperty()中的字符串參數(shù)如下:
System.getProperty()參數(shù)大全
# java.version Java Runtime Environment version # java.vendor Java Runtime Environment vendor # java.vendor.url Java vendor URL # java.home Java installation directory # java.vm.specification.version Java Virtual Machine specification version # java.vm.specification.vendor Java Virtual Machine specification vendor # java.vm.specification.name Java Virtual Machine specification name # java.vm.version Java Virtual Machine implementation version # java.vm.vendor Java Virtual Machine implementation vendor # java.vm.name Java Virtual Machine implementation name # java.specification.version Java Runtime Environment specification version # java.specification.vendor Java Runtime Environment specification vendor # java.specification.name Java Runtime Environment specification name # java.class.version Java class format version number # java.class.path Java class path # java.library.path List of paths to search when loading libraries # java.io.tmpdir Default temp file path # java.compiler Name of JIT compiler to use # java.ext.dirs Path of extension directory or directories # os.name Operating system name # os.arch Operating system architecture # os.version Operating system version # file.separator File separator ("/" on UNIX) # path.separator Path separator (":" on UNIX) # line.separator Line separator ("/n" on UNIX) # user.name User's account name # user.home User's home directory # user.dir User's current working directory
JAVA中獲取路徑:
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:/resin/webapps/TEST/test.jsp
(5)得到頁(yè)面所在服務(wù)器的絕對(duì)路徑:
absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
結(jié)果:D:/resin/webapps/TEST
2.在類中取得路徑:
(1)類的絕對(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:/Tomcat/webapps/TEST
(2)得到IE地址欄地址:
request.getRequestURL()
結(jié)果:http://localhost:8080/TEST/test
(3)得到相對(duì)地址:
request.getRequestURI()
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
SpringBoot導(dǎo)出Excel的四種實(shí)現(xiàn)方式
近期接到了一個(gè)小需求,要將系統(tǒng)中的數(shù)據(jù)導(dǎo)出為Excel,且能將Excel數(shù)據(jù)導(dǎo)入到系統(tǒng),對(duì)于大多數(shù)研發(fā)人員來(lái)說(shuō),這算是一個(gè)最基本的操作了,本文就給大家總結(jié)一下SpringBoot導(dǎo)出Excel的四種實(shí)現(xiàn)方式,需要的朋友可以參考下2024-01-01Java中關(guān)于控制臺(tái)讀取數(shù)字或字符串的方法
下面小編就為大家?guī)?lái)一篇Java中關(guān)于控制臺(tái)讀取數(shù)字或字符串的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10一分鐘掌握J(rèn)ava?Quartz定時(shí)任務(wù)
這篇文章主要為大家介紹了Java?Quartz定時(shí)任務(wù)一分鐘掌握教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05MyBatis實(shí)現(xiàn)MySQL批量插入的示例代碼
本文主要介紹了MyBatis實(shí)現(xiàn)MySQL批量插入的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05基于java實(shí)現(xiàn)租車(chē)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了基于java實(shí)現(xiàn)租車(chē)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12從零開(kāi)始:快速入門(mén)SpringBoot注解的精髓
Spring?Boot是一個(gè)用于快速構(gòu)建基于Spring框架的應(yīng)用程序的開(kāi)源框架,它通過(guò)使用注解來(lái)簡(jiǎn)化配置和開(kāi)發(fā)過(guò)程,使開(kāi)發(fā)人員能夠更加專注于業(yè)務(wù)邏輯的實(shí)現(xiàn),Spring?Boot提供了許多注解,用于定義和配置應(yīng)用程序的各個(gè)方面,需要的朋友可以參考下2023-10-10SSh結(jié)合Easyui實(shí)現(xiàn)Datagrid的分頁(yè)顯示
這篇文章主要為大家詳細(xì)介紹了SSh結(jié)合Easyui實(shí)現(xiàn)Datagrid的分頁(yè)顯示的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-06-06java中應(yīng)用Stack進(jìn)行算術(shù)運(yùn)算的操作
這篇文章主要介紹了java中應(yīng)用Stack進(jìn)行算術(shù)運(yùn)算的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03