千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

【熱點話題】 零基礎學IT IT學習教程 IT學習筆記 IT技術干貨 IT培訓機構 IT應聘面試 IT職場就業 Java培訓機構哪些好
當前位置:首頁  >  關于學院  >  技術干貨  > java獲取當前類的路徑的幾種方法

java獲取當前類的路徑的幾種方法

來源:千鋒教育
發布人:syq
時間: 2022-10-12 10:27:06 1665541626

  在我們日常Java開發工作中會經驗遇到獲取當前類文件的路徑,現在java獲取當前類的路徑主要有兩種方法:利用System.getProperty()函數獲取當前路徑和使用File提供的函數獲取當前路徑。今天小千將針對這兩種路徑進行探討。

java獲取當前類的路徑

  1、利用System.getProperty()函數獲取當前路徑:

  System.out.println(System.getProperty("user.dir"));//user.dir指定了當前的路徑

  2、使用File提供的函數獲取當前路徑:

  File directory = new File("");//設定為當前文件夾

  try{

  System.out.println(directory.getCanonicalPath());//獲取標準的路徑

  System.out.println(directory.getAbsolutePath());//獲取絕對路徑

  }catch(Exceptin e){}

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

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

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

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

  比如當前的路徑為 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()中的字符串參數如下:

  System.getProperty()參數大全

  # 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中取得路徑:

  以工程名為TEST為例:

  (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

  2.在類中取得路徑:

  (1)類的絕對路徑:Class.class.getClass().getResource("/").getPath()

  結果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

  (2)得到工程的路徑:System.getProperty("user.dir")

  結果:D:/TEST

  3.在Servlet中取得路徑:

  (1)得到工程目錄:request.getSession().getServletContext().getRealPath("") 參數可具體到包名。

  結果:E:/Tomcat/webapps/TEST

  (2)得到IE地址欄地址:request.getRequestURL()

  結果:http://localhost:8080/TEST/test

  (3)得到相對地址:request.getRequestURI()

  結果:/TEST/test

  以上是小千為大家介紹的java獲取當前類的路徑的幾種方法,希望以上內容能夠幫助大家解決java獲取當前類的路徑難題。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

10年以上業內強師集結,手把手帶你蛻變精英

請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通

免費領取

今日已有369人領取成功

劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取

猜你喜歡LIKE

最新文章NEW

相關推薦HOT

更多>>

快速通道 更多>>

開班信息
北京校區
  • 北京校區
  • 大連校區
  • 廣州校區
  • 成都校區
  • 杭州校區
  • 長沙校區
  • 合肥校區
  • 南京校區
  • 上海校區
  • 深圳校區
  • 武漢校區
  • 鄭州校區
  • 西安校區
  • 青島校區
  • 重慶校區
  • 太原校區
  • 沈陽校區

两个人免费视频高清