2019独角兽企业重金招聘Python工程师标准>>>

JAVA 中获取路径:
一、在类中
1、利用System.getProperty()函数获取当前工程的路径: 
    System.getProperty("user.dir");//结果:D:\WorkSpace\smart
    //user.dir指定了当前的路径 
    另外:System.getProperty()中的字符串参数如下:

@SuppressWarnings("rawtypes")public static void main(String[] args) {Properties pro = System.getProperties();Iterator it = pro.keySet().iterator();while(it.hasNext()){String key = (String) it.next();System.out.println(key +"="+pro.get(key));}}
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=C:\Program Files\Java\jdk1.8.0_131\jre\bin
java.vm.version=25.131-b11
java.vm.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
path.separator=;
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg=sun.io
user.country=CN
user.script=
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=
java.vm.specification.name=Java Virtual Machine Specification
user.dir=D:\WorkSpace\smart
java.runtime.version=1.8.0_131-b11
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=C:\Program Files\Java\jdk1.8.0_131\jre\lib\endorsed
os.arch=amd64
java.io.tmpdir=C:\Users\ADMINI~1\AppData\Local\Temp\
line.separator=java.vm.specification.vendor=Oracle Corporation
user.variant=
os.name=Windows 10
sun.jnu.encoding=GBK
java.library.path=C:\Program Files\Java\jdk1.8.0_131\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.8.0_131/bin/server;C:/Program Files/Java/jre1.8.0_131/bin;C:/Program Files/Java/jre1.8.0_131/lib/amd64;C:\Python\Python36\Scripts\;C:\Python\Python36\;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Git\cmd;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Java\jdk1.8.0_131\bin;C:\Program Files\Java\jdk1.8.0_131\jre\bin;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;;D:\Eclipse\eclipse;;.
java.specification.name=Java Platform API Specification
java.class.version=52.0
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
os.version=10.0
user.home=C:\Users\Administrator
user.timezone=
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=UTF-8
java.specification.version=1.8
java.class.path=D:\WorkSpace\smart\target\classes
user.name=smart
java.vm.specification.version=1.8
sun.java.command=cn.smart.test.MyTest
java.home=C:\Program Files\Java\jdk1.8.0_131\jre
sun.arch.data.model=64
user.language=zh
java.specification.vendor=Oracle Corporation
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.8.0_131
java.ext.dirs=C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
sun.boot.class.path=C:\Program Files\Java\jdk1.8.0_131\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_131\jre\classes
java.vendor=Oracle Corporation
file.separator=\
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding=UnicodeLittle
sun.cpu.endian=little
sun.desktop=windows
sun.cpu.isalist=amd64

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();                    //得到的是..

3、类的路径:
    (1)Class.class.getClass().getResource("/").getPath() 
        结果:/D:/WorkSpace/smart/target/classes/
    (2)Thread.currentThread().getContestClassLoader().getResource("")
        结果:file:/D:/WorkSpace/smart/target/classes/
    (3)MyTest.class.getClassLoader().getResource("")
        结果:file:/D:/WorkSpace/smart/target/classes/
    (4)ClassLoader.getSystemResource("")
        结果:file:/D:/WorkSpace/smart/target/classes/
    (5)MyTest.class.getResource("")
        结果:file:/D:/WorkSpace/smart/target/classes/cn/smart/test/
    (6)MyTest.class.getResource("/")
        结果:file:/D:/WorkSpace/smart/target/classes/

二、 在web中获取路径
    1、JSP中获取路径
        (1)得到包含工程名的当前页面全路径:
            request.getRequestURI();// /TEST/test.jsp 
        (2)得到工程名:
            request.getContextPath();// /TEST 
        (3)得到当前页面所在目录下全名称:
            request.getServletPath();// /TEST/test.jsp 
        (4)得到页面所在服务器的全路径:
            application.getRealPath("test.jsp");// D:/test/WebRoot/TEST/test.jsp 
        (5)得到页面所在服务器的绝对路径:
            absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent(); 
        结果:D:/test/WebRoot/TEST

2、在Servlet中取得路径:
        (1)得到工程目录:
            request.getSession().getServletContext().getRealPath("");
            结果:E:/Tomcat/webapps/TEST 
        (2)得到IE地址栏地址:
            request.getRequestURL() 
            结果:http://localhost:8080/TEST/test 
        (3)得到相对地址:
            request.getRequestURI() 
            结果:/TEST/test

转载于:https://my.oschina.net/u/3010171/blog/877131

java获取当前路径的几种方法相关推荐

  1. java 字符串截取的几种方式 java获取当前路径的几种方法

    java 字符串截取的几种方式: https://blog.csdn.net/qq_27603235/article/details/51604584 java获取当前路径的几种方法: https:/ ...

  2. 【转】java获取当前路径的几种方法

    1.利用System.getProperty()函数获取当前路径:  System.out.println(System.getProperty("user.dir"));//us ...

  3. java 获取时间戳 的三种方法

    java 获取时间戳 的三种方法,效率依次递减 方法一 : System.currentTimeMillis(); 方法二: new Date().getTime(); 方法三: Calendar.g ...

  4. java当前路径_java获取当前路径的几种方法

    1.利用System.getProperty()函数获取当前路径: System.out.println(System.getProperty("user.dir"));//use ...

  5. java中测长度的方法,java获取文件大小的几种方法

    目前java获取文件大小的方法有两种: 1.通过file的length()方法获取: 2.通过流式方法获取: 通过流式方法又有两种,分别是旧的java.io.*中fileinputstream的ava ...

  6. Java获取随机数的3种方法和总结

    方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: (int)(1+Math.random()*(10-1+1)) 从1到10的int型随数 方法2 获得随机数 ...

  7. Java获取时间间隔的两种方法

    方法一:java.util.Date long s = new Date().getTime();long e = new Date().getTime();System.out.println((e ...

  8. java 获取区间随机数_Java获取随机数的3种方法

    主要介绍了Java获取随机数的3种方法,主要利用random()函数来实现 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1))例: (int)(1+Math.rando ...

  9. java 获取包路径_java获取java文件路径的四种方法

    java获取java文件路径的四种方法 发布时间:2020-04-17 11:03:45 来源:亿速云 阅读:750 作者:小新 今天小编给大家分享的是java获取java文件路径的四种方法,很多人都 ...

  10. java 中lock,java中lock获取锁的四种方法

    在java接口中会存放着许多方法,方便线程使用时的直接调用.对于lock接口大家都不陌生,我们已经初步对概念进行了理解.那么在获取锁的方法上想必还不是很清楚.下面我们就lock获取锁的四种方法分别进行 ...

最新文章

  1. Apache MINA 2.0 用户指南
  2. 树莓派分辨率调整(含官方默认和kali系统)
  3. 基于.NetCore3.1系列 —— 日志记录之初识Serilog
  4. java 注册驱动失败_java – JDBC驱动程序注册死锁?
  5. thinking-in-java(14)类型信息
  6. #pragma的一些用法
  7. BZOJ2879 [Noi2012]美食节
  8. 犀牛Rhino中Grasshopper插件中的millipede千足虫插件安装方法
  9. pymc3学生成绩分析和预测(补充+翻译)
  10. C语言:统计一个文件中大写字符、小写字符、数字个数
  11. buuctf_[ACTF新生赛2020]swp
  12. 2019年新版新媒体运营学习路线,附完整视频+工具+运营经验
  13. 童年学习机器人的 5 大好处
  14. java音频剪辑_Java混剪音频
  15. 安装MySql时初始化 MySQL 数据库失败的几个总结
  16. 显示器接口_显示器USB接口的作用是什么?为什么会没有反应?
  17. keypad driver
  18. autodesk系列产品无法安装解决方案
  19. 想学编程要些啥基础?
  20. 推荐10款免费开源的网店系统

热门文章

  1. Paip.论语义分析与语义搜索技术.attilax(艾龙)总结
  2. 代码积累与编程能力哪个更重要
  3. linux:云端 ubuntu下挂载数据盘
  4. 没错,支付也有个七层模型
  5. 冲刺个税递延,第三批养老目标基金正式获批!合计已达40只
  6. 企业GDPR安全隐私合规性指南
  7. 数据隐私与加密学技术 |链捕手
  8. (转)Python之区块链入门
  9. (转)NYU教授给写AI新闻的记者们写了一封推心置腹的信,你也应该读读
  10. Julia : 如何进一步改进操作Redis的效率?