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

    手機站
    千鋒教育

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

    千鋒教育

    掃一掃進入千鋒手機站

    領取全套視頻
    千鋒教育

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

    【熱點話題】 零基礎學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

    更多>>

    快速通道 更多>>

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

    日本黄色视频