通常我们会使用System.getProperty()来获取路径,但是这个方法还包含了很多使用的功能,测试如下:
Properties props=System.getProperties(); //系统属性 System.out.println("Java运行时环境版本 :"+props.getProperty("java.version"));//输出:1.8.0_31 System.out.println("Java的运行环境供应商:"+props.getProperty("java.vendor"));//输出:Oracle Corporation System.out.println("Java供应商的URL:"+props.getProperty("java.vendor.url"));//输出: http://java.oracle.com/ System.out.println("Java的安装路径:"+props.getProperty("java.home"));//输出:C:Program FilesJavajdk1.8.0_31jre System.out.println("Java的虚拟机规范版本:"+props.getProperty("java.vm.specification.version"));//输出:1.8 System.out.println("Java的虚拟机规范供应商:"+props.getProperty("java.vm.specification.vendor"));//输出:Oracle Corporation System.out.println("Java的虚拟机规范名称:"+props.getProperty("java.vm.specification.name"));//输出: Java Virtual Machine Specification System.out.println("Java的虚拟机实现版本:"+props.getProperty("java.vm.version"));//输出:25.31-b07 System.out.println("Java的虚拟机实现供应商:"+props.getProperty("java.vm.vendor"));//输出:Oracle Corporation System.out.println("Java的虚拟机实现名称:"+props.getProperty("java.vm.name"));//输出:Java HotSpot(TM) 64-Bit Server VM System.out.println("Java运行时环境规范版本:"+props.getProperty("java.specification.version"));//输出:1.8 System.out.println("Java运行时环境规范供应商:"+props.getProperty("java.specification.vender"));//输出:null System.out.println("Java运行时环境规范名称:"+props.getProperty("java.specification.name"));//输出:Java Platform API Specification System.out.println("Java的类格式版本号:"+props.getProperty("java.class.version"));//输出:52.0 System.out.println("Java的类路径:"+props.getProperty("java.class.path"));//输出:D:开发工程GitHub5_java_exampleuritestapplicationin System.out.println("加载库时搜索的路径列表:"+props.getProperty("java.library.path"));//输出:C:Program FilesJavajdk1.8.0_31in;C:WINDOWSSunJavain;;. System.out.println("默认的临时文件路径:"+props.getProperty("java.io.tmpdir"));//输出:C:UsersJimAppDataLocalTemp System.out.println("要使用的JIT编译器的名称:"+props.getProperty("java.compiler"));//输出:null System.out.println("一个或多个扩展目录的路径:"+props.getProperty("java.ext.dirs"));//输出:C:Program FilesJavajdk1.8.0_31jrelibext;C:WINDOWSSunJavalibext System.out.println("操作系统的名称:"+props.getProperty("os.name"));//输出:Windows 8.1 System.out.println("操作系统的构架:"+props.getProperty("os.arch"));//输出:amd64 System.out.println("操作系统的版本:"+props.getProperty("os.version"));//输出:6.3 System.out.println("文件分隔符(在 UNIX 系统中是“/”):"+props.getProperty("file.separator"));//输出: System.out.println("路径分隔符(在 UNIX 系统中是“:”) :"+props.getProperty("path.separator"));//输出:; System.out.println("行分隔符(在 UNIX 系统中是“/n”):"+props.getProperty("line.separator"));//输出:换一行 System.out.println("用户的账户名称:"+props.getProperty("user.name"));//输出:Jim System.out.println("用户的主目录:"+props.getProperty("user.home"));//输出:C:UsersJim System.out.println("用户的当前工作目录:"+props.getProperty("user.dir"));//输出: D:开发工程GitHub5_java_exampleuritestapplication
通过调查研究,这个方法底层是调用C去实现,所以效率上还是可以保证的。