• Java获取系统属性及环境变量


     当程序中需要使用与操作系统相关的变量(例如:文件分隔符、换行符)时,Java提供了System类的静态方法getenv()和getProperty()用于返回系统相关的变量与属性,getenv方法返回的变量大多于系统相关,getProperty方法返回的变量大多与java程序有关。

          系统属性和环境变量都是名称与值之间的映射。两种机制都能用来将用户定义的信息传递给 Java进程。环境变量产生更多的全局效应,因为它们不仅对Java子进程可见,而且对于定义它们的进程的所有子进程都是可见的。在不同的操作系统上,它们的语义有细微的差别,比如,不区分大小写。因此环境变量更可能有意料不到的副作用。程序中尽可能使用系统属性。环境变量应该在需要全局效应的时候使用,或者在外部系统接口要求使用环境变量时使用(比如 PATH)。 

    1、环境变量getenv()   :用于获取当前系统环境的字符串映射视图;测试代码及运行结果如下:

    publicclass Test {
        publicstaticvoid main(String[] args) {
            Map<String, String> map = System.getenv();
            for(Iterator<String> itr = map.keySet().iterator();itr.hasNext();){
                String key = itr.next();
                System.out.println(key + "=" + map.get(key));
            }   
        }
    } 
    USERPROFILE        :用户目录
    USERDNSDOMAIN      :用户域
    PATHEXT            :可执行后缀
    JAVA_HOME          :Java安装目录
    TEMP               :用户临时文件目录
    SystemDrive        :系统盘符
    ProgramFiles       :默认程序目录
    USERDOMAIN         :帐户的域的名称
    ALLUSERSPROFILE    :用户公共目录
    SESSIONNAME        :Session名称
    TMP                :临时目录
    Path               :path环境变量
    CLASSPATH          :classpath环境变量
    PROCESSOR_ARCHITECTURE :处理器体系结构
    OS                     :操作系统类型
    PROCESSOR_LEVEL    :处理级别
    COMPUTERNAME       :计算机名
    Windir             :系统安装目录
    SystemRoot         :系统启动目录
    USERNAME           :用户名
    ComSpec            :命令行解释器可执行程序的准确路径
    APPDATA            :应用程序数据目录

    2、系统属性getProperty()   :当前的系统属性。测试代码及运行结果如下:

    java.version Java :运行时环境版本
    java.vendor Java :运行时环境供应商
    java.vendor.url :Java供应商的 URL
    java.home &nbsp;&nbsp;:Java安装目录
    java.vm.specification.version: Java虚拟机规范版本
    java.vm.specification.vendor :Java虚拟机规范供应商
    java.vm.specification.name &nbsp; :Java虚拟机规范名称
    java.vm.version :Java虚拟机实现版本
    java.vm.vendor :Java虚拟机实现供应商
    java.vm.name&nbsp; :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 :文件分隔符
    path.separator :路径分隔符
    line.separator :行分隔符
    user.name :用户的账户名称
    user.home :用户的主目录
    user.dir:用户的当前工作目录
  • 相关阅读:
    自定义Go Json的序列化方法
    golang 1.13 module VS package 讲的很清楚
    配置 1.13+ 的 golang 环境
    【Go语言入门】一文搞懂Go语言的最新依赖管理:go mod的使用
    Go 学习笔记(3)— 包概念、包特点、包名约束、main 包、包的声明、包的引用、包初始化
    Go 学习笔记(65)— Go 中函数参数是传值(函数参数为数组、切片、map、chan、struct 等)
    配置 Golang 开发环境 go1.11以下版本
    查看nebula版本号 console里show hosts graph
    nebula 突然默认开启了19559、19669、19779对外端口
    安装spark local运行出现错误NoClassDefFoundError: org/slf4j/Logger 原来是要设置hadoop home和spark classpath虽然without hadoop
  • 原文地址:https://www.cnblogs.com/jianlun/p/4773711.html
Copyright © 2020-2023  润新知