如何在 Java 中获取环境变量2024 年 9 月 10 日 | 阅读 3 分钟 计算机的每种编程语言都有变量和常量,它们分配特定的内存地址来存储程序可以利用的数据。变量的值可以改变,而常量的值则不能。称为环境变量的键/值组合是其值在程序外部设置,但程序始终可以访问其引用的组合。 值和键都是字符串。操作系统和命令行解释器在设置和使用环境变量方面总是存在不同的约定。系统上运行的每个应用程序都可以全局持续访问它们。 用例据我们所知,每次程序更新时,都必须重新启动或运行服务器,这在生产环境中可能会产生意想不到的后果。因此,引入环境变量的主要目的是反复限制这种执行和部署。 示例 解释 在这种情况下,Path 是一个在程序外部设置但可被所有基于 Windows 的程序访问的环境变量。 Java 提供了 2 种在 Java 程序中获取环境变量的方法。
System.getenv()当特定的键名作为参数传入时,System.getenv() 方法将检索该键的值,而不是仅仅检索所有环境变量。java.lang。System.getenv() 始终返回所有可访问环境变量的字符串映射。 语法 Name 是用于定义在此实例中需要其值的键的参数。 返回值 如果提供的参数未链接到任何键,它将返回 null。否则,它将返回键的值。如果未传递参数,将返回所有可访问的键/值对。 实施 文件名: SystemGetEnv.java 输出 System.getenv(PATH1) = null System.getenv(TEMP1) = null USERDOMAIN_ROAMINGPROFILE=DESKTOP-2CFH9HQ LOCALAPPDATA=C:\Users\Nikhil\AppData\Local PROCESSOR_LEVEL=6 USERDOMAIN=DESKTOP-2CFH9HQ FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer LOGONSERVER=\\DESKTOP-2CFH9HQ PROMPT=$P$G SESSIONNAME=Console ALLUSERSPROFILE=C:\ProgramData =K:=K:\ PROCESSOR_ARCHITECTURE=AMD64 PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ SystemDrive=C: =ExitCode=00000000 OneDrive=C:\Users\Nikhil\OneDrive APPDATA=C:\Users\Nikhil\AppData\Roaming USERNAME=Nikhil ProgramFiles(x86)=C:\Program Files (x86) CommonProgramFiles=C:\Program Files\Common Files Path=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)\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\Java\jdk-12.0.2\bin;C:\Program Files\Java\jdk-12.0.2\bin\google.jar FPS_BROWSER_USER_PROFILE_STRING=Default PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC OS=Windows_NT COMPUTERNAME=DESKTOP-2CFH9HQ PROCESSOR_REVISION=8e09 CommonProgramW6432=C:\Program Files\Common Files ComSpec=C:\Windows\system32\cmd.exe ProgramData=C:\ProgramData ProgramW6432=C:\Program Files HOMEPATH=\Users\Nikhil SystemRoot=C:\Windows TEMP=C:\Users\Nikhil\AppData\Local\Temp HOMEDRIVE=C: PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 142 Stepping 9, GenuineIntel USERPROFILE=C:\Users\Nikhil TMP=C:\Users\Nikhil\AppData\Local\Temp CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files ProgramFiles=C:\Program Files PUBLIC=C:\Users\Public NUMBER_OF_PROCESSORS=4 windir=C:\Windows =::=::\ 注意:根据您的操作系统,您可能会收到不同的结果。System.getProperty()Java.lang 是另一个选项。在 Java 中,使用 System.getProperty() 来获取作为参数给定的键的值。借助此方法,您可以获取有关本地系统和配置以及系统属性的信息。如果环境变量在 Java 中作为系统属性可用,最好使用 System.getProperty() 以平台无关的方式检索其值。与环境变量不同,环境变量不能在运行时更改,而属性可以。 语法 Name 是用于定义在此上下文中需要其值的键的参数。 返回值 它将返回键的值或 null。 实施 文件名: SystemGetProperty.java 输出 user.name : Nikhil home : null os.name : Windows 10 |
图像处理是数字媒体和内容管理部门的一个主要领域,其应用范围从简单的照片编辑到高级计算机视觉任务。图像处理中的一个典型应用是水印:将可识别的徽标、文本或图像叠加在...
7 分钟阅读
ProcessBuilder 类用于在 Java 中创建操作系统进程。ProcessBuilder 类的每个实例都负责管理进程属性的集合。ProcessBuilder 类不能同步。在 JDK 5.0 之前,使用的是 Runtime.exec() 方法来...
7 分钟阅读
给定一个包含整数的数组。还给定一个整数 k。我们的任务是找到一个数组,该数组由最小范围 [lft, rght](包括 lft 和 rght)组成,使得该数组中恰好有 k 个不同的数字...
阅读 8 分钟
java.util.function 包在 Java 8 中引入,其中包含 DoubleFunction 接口,用于支持 Java 中的函数式编程。它代表一个在接收双精度输入后生成 R 类型结果的函数。只接受一个泛型...
阅读 3 分钟
在 Java 中,日志记录是一项重要的功能,可帮助开发人员跟踪错误。Java 是一种带有日志记录方法的编程语言。它提供了 Java 1.4 版本中引入的日志记录 API。它提供了捕获日志的能力...
阅读 8 分钟
在 Java 中,Character.isSurrogate() 函数用于确定指定的字符是否为代理字符。UTF-16 编码中的代理对表示超出基本多语言平面 (BMP) 的字符。这些对由高代理和低代理组成。如果...,则一个字符被视为代理码单元。
5 分钟阅读
String 类的 regionMatches() 方法有两种变体,可用于测试两个字符串区域是否匹配或相等。此方法有两种变体,即一种忽略大小写,另一种区分大小写。regionMatches() 方法用于...
阅读 4 分钟
并发是现代软件开发的一个基本方面,Java 提供了多种机制来高效地处理并发任务。Java 中常用的两个同步工具是 CyclicBarrier 和 CountDownLatch。尽管它们的名字听起来相似,但这两个类在管理并发操作方面具有不同的用途。在本节中,...
阅读 4 分钟
Java 是一个严格的传值(pass-by-value)语言。当我们向方法传递原始类型时,方法接收的是该值的副本。但是,当我们向方法传递对象时,方法接收的是该对象的引用。当我们修改对象时……
5 分钟阅读
Eclipse 是最受欢迎的 Java 应用程序开发 IDE。为了有效地使用 Eclipse,我们必须熟悉 Eclipse IDE 的工作区、概念和组件。在继续本节之前,我们将了解 Java 中的 Eclipse 是什么,Eclipse 平台概述,以及...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India