• System.getProperty()获取系统的配置信息



    1. 通过System.getProperty()可以获取系统的配置信息,System.getProperty()的参数总结:

    java.version Java运行时环境版本
    java.vendor Java运行时环境供应商
    java.vendor.url  Java供应商的 URL
    java.home  Java安装目录
    java.vm.specification.version  Java虚拟机规范版本
    java.vm.specification.vendor  Java虚拟机规范供应商
    java.vm.specification.name  Java虚拟机规范名称
    java.vm.version  Java虚拟机实现版本
    java.vm.vendor  Java虚拟机实现供应商
    java.vm.name  Java虚拟机实现名称
    java.specification.version  Java运行时环境规范版本
    java.specification.vendor  Java运行时环境规范供应商
    java.specification.name  Java运行时环境规范名称
    java.class.version  Java类格式版本号
    java.class.path  Java类路径
    java.library.path  加载库时搜索的路径列表
    java.io.tmpdir 默认的临时文件路径
    java.compiler 要使用的 JIT 编译器的名称
    java.ext.dirs  一个或多个扩展目录的路径
    os.name  操作系统的名称
    os.arch  操作系统的架构
    os.version  操作系统的版本
    file.separator  文件分隔符(在 UNIX 系统中是“/”)
    path.separator 路径分隔符(在 UNIX 系统中是“:”)
    line.separator  行分隔符(在 UNIX 系统中是“/n”)
    user.name  用户的账户名称
    user.home  用户的主目录
    user.dir  用户的当前工作目录

    2. 示例:

    复制代码
    public class SystemPropertyTest {
    
        public static void main(String[] args) {
    
            String[] keys = { "java.version", "java.vendor", "java.vendor.url", "java.home",
                    "java.vm.specification.version", "java.vm.specification.vendor", "java.vm.specification.name",
                    "java.vm.version", "java.vm.vendor", "java.vm.name", "java.specification.version",
                    "java.specification.vendor", "java.specification.name", "java.class.version", "java.class.path",
                    "java.library.path", "java.io.tmpdir", "java.compiler", "java.ext.dirs", "os.name", "os.arch",
                    "os.version", "file.separator", "path.separator", "line.separator", "user.name", "user.home",
                    "user.dir" };
    
            for (String key : keys) {
                String value = System.getProperty(key);
                System.out.println(key + " : " + value);
            }
        }
    }
    复制代码

    打印结果:

    复制代码
    java.version : 1.8.0_121
    java.vendor : Oracle Corporation
    java.vendor.url : http://java.oracle.com/
    java.home : C:Program Files (x86)Javajdk1.8.0_121jre
    java.vm.specification.version : 1.8
    java.vm.specification.vendor : Oracle Corporation
    java.vm.specification.name : Java Virtual Machine Specification
    java.vm.version : 25.121-b13
    java.vm.vendor : Oracle Corporation
    java.vm.name : Java HotSpot(TM) Client VM
    java.specification.version : 1.8
    java.specification.vendor : Oracle Corporation
    java.specification.name : Java Platform API Specification
    java.class.version : 52.0
    
    java.class.path : E:workspaceTestCodeuildclasses;E:eclipsepluginsorg.junit_4.11.0.v201303080030junit.jar;E:eclipsepluginsorg.hamcrest.core_1.3.0.v201303031735.jar
    java.library.path : C:Program Files (x86)Javajdk1.8.0_121in;C:windowsSunJavain;C:windowssystem32;C:windows;C:/Program Files (x86)/Java/jre1.8.0_121/bin/client;C:/Program Files (x86)/Java/jre1.8.0_121/bin;C:/Program Files (x86)/Java/jre1.8.0_121/lib/i386;C:ProgramDataOracleJavajavapath;C:windowssystem32;C:windows;C:windowsSystem32Wbem;C:windowsSystem32WindowsPowerShellv1.0;C:Program FilesLenovo Fingerprint Reader;C:Program FilesLenovo Fingerprint Readerx86;C:Program Files (x86)Javajdk1.8.0_121in;C:Program Files (x86)Javajdk1.8.0_121jrein;E:TortoiseSVNin;E:mysql-5.6.24-winx64in;E:apache-maven-3.3.3in;C:Program Files*** ***;.;;E:eclipse;;.;;.
    java.io.tmpdir : C:Users***~1.***AppDataLocalTemp java.compiler : null java.ext.dirs : C:Program Files (x86)Javajdk1.8.0_121jrelibext;C:windowsSunJavalibext os.name : Windows 7 os.arch : x86 os.version : 6.1 file.separator : path.separator : ; line.separator : user.name : ***.*** user.home : C:Users***.*** user.dir : E:workspaceTestCode
    复制代码

    我们可以通过 System.getProperty("user.home") 读取JAVA系统的user.home 属性的值。


    System.getProperty("user.home") 方法先去读取注册表中HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders下的 Desktop 键值做为 user.dir ,再取它的上一级目录做为user.home


    打开注册表编辑器,定位到上面的键值,你可以发现 Desktop 的值是%USERPROFILE%桌面 这种形式
    C:Documents and SettingsAdministrator桌面
    %USERPROFILE% 对应 C:Documents and Settings\%用户名%。对于 Administrator 用户,这里取得的 Desktop 自然是 C:Documents and SettingsAdministrator桌面. 那么 user.home 就应该是C:Documents and SettingsAdministrator

    public class PrintHome{
    public static void main(String[] args) {
    System.out.println(System.getProperty("user.home") );
    }

    有些电脑的注册表中的Desktop可能变为 %USERPROFILE%桌面 这种形式。这时我们得到的 user.home 可能会变成 C:Documents and SettingsAdministrator桌面,这时需要手动修改 Desktop%USERPROFILE%桌面 这种形式

  • 相关阅读:
    Python 字符串
    python 元组用法
    python 字典用法
    环境配置
    桥式整流以及电容作用
    三角序列的正交性
    MDS
    ISOMAP
    randperm
    数据库~Mysql里的Explain说明
  • 原文地址:https://www.cnblogs.com/leeego-123/p/12418932.html
Copyright © 2020-2023  润新知