溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java獲取java文件路徑的四種方法

發(fā)布時間:2020-04-17 11:03:45 來源:億速云 閱讀:3404 作者:小新 欄目:編程語言

今天小編給大家分享的是java獲取java文件路徑的四種方法,很多人都不太了解,今天小編為了讓大家更加了解獲取java文件路徑的方法,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會有所收獲的哦。

java獲取java文件路徑的四種方法

java獲取java文件的路徑怎么寫?

1、java代碼獲取文件當前路徑

//利用System.getProperty()函數(shù)獲取當前路徑
System.out.println(System.setProperty("user.dir", "c:users"));
System.out.println(System.getProperty("user.dir"));//user.dir指定了當前的路徑 
 
//在類中取得類的絕對路徑
System.out.println(Class.class.getClass().getResource("/").getPath());
System.out.println(Thread.currentThread().getContextClassLoader().getResource("./").getPath());
System.out.println(Thread.currentThread().getContextClassLoader().getResource("").getPath());//ClassPath的絕對URI路徑
System.out.println(Thread.currentThread().getContextClassLoader().getResource(".").getPath());//項目的絕對路徑

2、使用File提供的函數(shù)獲取當前路徑

File directory = new File("");//設(shè)定為當前文件夾 
try{ 
  System.out.println(directory.getCanonicalPath());//獲取標準的路徑 
   System.out.println(directory.getAbsolutePath());//獲取絕對路徑
}catch(Exceptin e){
}

(1)注意:

  File.getCanonicalPath()和File.getAbsolutePath()大約只是對于new File(“.”)和new File(“..”)兩種路徑有所區(qū)別。

  對于getCanonicalPath()函數(shù),“.”就表示當前的文件夾,而”..“則表示當前文件夾的上一級文件夾。

  對于getAbsolutePath()函數(shù),則不管”.”、“..”,返回當前的路徑加上你在new File()時設(shè)定的路徑

至于getPath()函數(shù),得到的只是你在new File()時設(shè)定的路徑。

(2)如當前的路徑為 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();   //得到的是..

(3) 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

3、在jsp中取得路徑

(1)以項目名TEST為例

//得到包含工程名(工程名為TEST)的當前頁面全路徑:request.getRequestURI() 
結(jié)果:/TEST/test.jsp 
 
//得到工程名:request.getContextPath() 
結(jié)果:/TEST 
 
//得到當前頁面所在目錄下全名稱:request.getServletPath() 
結(jié)果:如果頁面在jsp目錄下 /TEST/jsp/test.jsp 
 
//得到頁面所在服務(wù)器的全路徑:application.getRealPath("頁面.jsp") 
結(jié)果:D:/resin/webapps/TEST/test.jsp 
 
//得到頁面所在服務(wù)器的絕對路徑:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent(); 
結(jié)果:D:/resin/webapps/TEST

4、在Servlet中獲取路徑

//得到工程目錄:request.getSession().getServletContext().getRealPath("") 參數(shù)可具體到包名。 
結(jié)果:E:/Tomcat/webapps/TEST 
 
//得到url地址欄地址:request.getRequestURL() 
結(jié)果:http://localhost:8080/TEST/test 
 
//得到相對地址:request.getRequestURI() 
結(jié)果:/TEST/test

關(guān)于java獲取java文件路徑的四種方法就分享到這里了,當然并不止以上和大家分析的辦法,不過小編可以保證其準確性是絕對沒問題的。希望以上內(nèi)容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI