原文网址:Java--获取属性(System.getProperty)--方法/实例_IT利刃出鞘的博客-CSDN博客

简介

说明

Java可以在程序中获取属性,也可以获取环境变量(系统变量)。属性与Java程序有关,环境变量与Java所在的系统环境有关。

因此,我们就可以通过在外部指定一些参数来控制程序的运行,也可以在程序中判断当前的环境(比如是Linux还是Windows)等。

获取属性的方法:System.getProperty("属性名");获取环境变量的方法:System.getenv("环境变量名")。

本文用实例介绍Java在程序中获取属性的方法。

System.getenv与System.getProperty的区别

属性(System.getProperty) 环境变量(System.getenv
运行时是否可修改 可以 不可以
有效范围 仅在java平台中有效 系统里所有程序都有效
创建的时机 打包应用时属性必须存在 可以在任何时候创建环境变量

相关网址

System.getenv用法:Java--获取环境变量(System.getenv)--方法/实例_IT利刃出鞘的博客-CSDN博客

常用方法

方法 作用
System.getProperties() 获得所有属性
System.getProperty(String key) 获得名为key的属性的值。
System.getProperty(String key, String def) 获得名为key的属性的值,获取不到则将返回def这个默认值。

自定义属性

可以在命令行运行jar包时指定属性,例如:-Dpassword=abc123,然后就可以在程序中获取:

package com.example.a;public class Demo {public static void main(String[] args) {String password = System.getProperty("password");System.out.println(password);}
}

先将程序打包为jar包,再运行它,即可获取到值。(-D必须在-jar之前指定)

打印所有的属性

可以通过以下程序获取所有属性:

package com.example.a;import java.util.Properties;public class Demo {public static void main(String[] args) {Properties properties = System.getProperties();properties.forEach((key, value) -> {System.out.println(key + ":" +value);});}
}

执行结果:

sun.cpu.isalist:amd64
sun.desktop:windows
sun.io.unicode.encoding:UnicodeLittle
sun.cpu.endian:little
java.vendor.url.bug:http://bugreport.sun.com/bugreport/
file.separator:\
java.vendor:Oracle Corporation
sun.boot.class.path:D:\dev\Java\jdk1.8.0_201\jre\lib\resources.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\rt.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\sunrsasign.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\jsse.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\jce.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\charsets.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\jfr.jar;D:\dev\Java\jdk1.8.0_201\jre\classes
java.ext.dirs:D:\dev\Java\jdk1.8.0_201\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
java.version:1.8.0_201
java.vm.info:mixed mode
awt.toolkit:sun.awt.windows.WToolkit
user.language:zh
java.specification.vendor:Oracle Corporation
sun.java.command:com.example.a.Demo
java.home:D:\dev\Java\jdk1.8.0_201\jre
sun.arch.data.model:64
java.vm.specification.version:1.8
java.class.path:D:\dev\Java\jdk1.8.0_201\jre\lib\charsets.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\deploy.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\ext\access-bridge-64.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\ext\cldrdata.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\ext\dnsns.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\ext\jaccess.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\ext\jfxrt.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\ext\localedata.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\ext\nashorn.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\ext\sunec.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\ext\sunjce_provider.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\ext\sunmscapi.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\ext\sunpkcs11.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\ext\zipfs.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\javaws.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\jce.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\jfr.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\jfxswt.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\jsse.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\management-agent.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\plugin.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\resources.jar;D:\dev\Java\jdk1.8.0_201\jre\lib\rt.jar;E:\work\Idea_proj\demo_Simple\demo_java\target\production\demo_java;D:\Program Files\JetBrains\IntelliJ IDEA 2021.2\lib\idea_rt.jar
user.name:Liu
file.encoding:UTF-8
java.specification.version:1.8
java.awt.printerjob:sun.awt.windows.WPrinterJob
user.timezone:
user.home:C:\Users\Liu
os.version:10.0
sun.management.compiler:HotSpot 64-Bit Tiered Compilers
java.specification.name:Java Platform API Specification
java.class.version:52.0
java.library.path:D:\dev\Java\jdk1.8.0_201\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;d:\Program Files\Git\cmd;D:\dev\Java\jdk1.8.0_201\bin;E:\work\maven\apache-maven-3.6.3\bin;D:\Program Files\mysql-8.0.21-winx64\bin;E:\work\npm\node_global;D:\dev\nodejs\;D:\dev\bigdata\hadoop-3.2.2\bin;D:\dev\bigdata\scala-2.12-13\bin;C:\Users\Liu\AppData\Local\Microsoft\WindowsApps;D:\Program Files\JetBrains\WebStorm 2021.1.3\bin;;D:\Program Files\dev\nvm\symlink;C:\Users\Liu\AppData\Roaming\npm;;.
sun.jnu.encoding:GBK
os.name:Windows 10
user.variant:
java.vm.specification.vendor:Oracle Corporation
java.io.tmpdir:C:\Users\Liu\AppData\Local\Temp\
line.separator:java.endorsed.dirs:D:\dev\Java\jdk1.8.0_201\jre\lib\endorsed
os.arch:amd64
java.awt.graphicsenv:sun.awt.Win32GraphicsEnvironment
java.runtime.version:1.8.0_201-b09
java.vm.specification.name:Java Virtual Machine Specification
user.dir:E:\work\Idea_proj\demo_Simple\demo_java
user.country:CN
user.script:
sun.java.launcher:SUN_STANDARD
sun.os.patch.level:
java.vm.name:Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg:sun.io
path.separator:;
java.vm.vendor:Oracle Corporation
java.vendor.url:http://java.oracle.com/
sun.boot.library.path:D:\dev\Java\jdk1.8.0_201\jre\bin
java.vm.version:25.201-b09
java.runtime.name:Java(TM) SE Runtime Environment

默认属性及其含义

参数 含义
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 用户的当前工作目录    

其他网址

Java System.getProperty 和 System.getenv 区别_neweastsun的专栏-CSDN博客

java 的 System.getenv() 和 System.getProperty()_jijianshuai的专栏-CSDN博客

Java--获取属性(System.getProperty)--方法/实例相关推荐

  1. java getproperty_java中System.getProperty()方法详解

    System.out.println("java版本号:" + System.getProperty("java.version")); // java版本号 ...

  2. java gettype().getproperty()_Java的System.getProperty()方法获取大全

    本文实例汇总了Java的System.getProperty()方法获取信息的用法.分享给大家供大家参考.具体如下: System.out.println("java版本号:" + ...

  3. Java的System.getProperty()方法获取信息的用法

    System.out.println("java版本号:" + System.getProperty("java.version")); // java版本号 ...

  4. Java中System.getProperty()方法具有什么功能呢?

    转自: Java中System.getProperty()方法具有什么功能呢? 下文笔者讲述Java中System.getProperty()方法的功能简介说明,如下所示: System.getPro ...

  5. java getbean方法_java相关:spring中通过ApplicationContext getBean获取注入对象的方法实例...

    java相关:spring中通过ApplicationContext getBean获取注入对象的方法实例 发布于 2020-12-19| 复制链接 分享一篇关于关于spring中通过Applicat ...

  6. Java--获取环境变量(System.getenv)--方法/实例

    原文网址:Java--获取环境变量(System.getenv)--方法/实例_IT利刃出鞘的博客-CSDN博客 简介 说明 本文用示例介绍Java获得环境变量的方法:System.getenv. S ...

  7. php接收键盘事件,js获取键盘事件的方法实例

    本文主要和大家分享js获取键盘事件的方法实例,希望能帮助到大家. document.οnkeydοwn=function(event){ var e = event || window.event | ...

  8. java私有属性和私有方法_Java接口–历年来Java 9之旅–默认方法和私有方法

    java私有属性和私有方法 介绍 Java接口已经比Java版本进行了更多的演变,而Java 8和Java 9则有所发展.在本文中,我们将介绍接口在Java 8之前的样子以及如何在Java 8和Jav ...

  9. java私有属性和私有方法_Java 9中什么是私有的?

    java私有属性和私有方法 在进行面试时,我发现大多数应聘者都不知道Java中的private修饰符真正意味着什么. 他们对此有所了解,足以应付日常编码,但还远远不够. 这不成问题. 足够了解就足够了 ...

最新文章

  1. 同样在JavaScript中
  2. A股融资融券余额是什么意思?
  3. 逐飞 RT1064 库 GCC (VSCode) 移植踩坑
  4. Python基础1 历史 变量
  5. PHP验证码识别实例
  6. 力扣——315. 计算右侧小于当前元素的个数
  7. Android 进行单元測试难在哪-part3
  8. 将数组A中的内容和数组B中的内容进行交换,计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,1到 100 的所有整数中出现多少次数字9。
  9. Oracle分区查询
  10. abaqus 帮助文档
  11. Android 知识点 250 —— screencap截屏指令
  12. 光学表面面形的计算机仿真,光学表面面形的计算机仿真
  13. 软电话HTML界面,软电话条对接
  14. 第十五课 简单易懂的指针
  15. 时序动作检测SSAD《Single Shot Temporal Action Detection》
  16. Excel的一些实用函数(if函数,vlookup函数,match函数)
  17. 电脑如何安装无线网卡?
  18. 印象笔记、为知笔记、有道云笔记使用比较
  19. SDOI2013 淘金
  20. 原来是这样的,我明白了,

热门文章

  1. 种草3亿人的小红书,这次给你种草腾讯云星星海SA2云服务器
  2. 机器学习基础问题1|欠拟合与过拟合
  3. pytorch的size和shape用法
  4. 心理学的166个现象---之三
  5. 隐马尔可夫模型(HMM) - 2 - 概率计算方法
  6. Linux压测工具Stress安装与使用
  7. 世界首富---比尔·盖茨的豪宅大探密
  8. 2021年赤小豆(红小豆)发展现状分析:红小豆价格整体上涨,农户种植积极性提高[图]
  9. 文心一言 VS 讯飞星火 VS chatgpt (40)-- 算法导论5.4 4题
  10. 如何清理远程仓库分支