请看下面的代码
Map<String, String> env = System.getenv();
for (String envName : env.keySet()) {
System.out.format("%s=%s%n",
envName,
env.get(envName));}
使用这个代码片段,我获得了我需要的所有信息,以及许多不需要的信息。老实说,我需要的是处理器数量和处理器标识符。这两个存储在 Windows 系统中的环境变量 PROCESSOR_IDENTIFIER 和 NUMBER_OF_PROCESSORS 中。
我无法调用此代码
System.out.println("Processor Data: "+ System.getenv("PROCESSOR_IDENTIFIER"));
System.out.println("Number of Processors: "+System.getenv("NUMBER_OF_PROCESSORS"));
原因是,oracle 它自己说环境变量因系统而异。这意味着,USERNAME windows 环境变量是 LOGIN 或 UNIX 系统中的用户名。像那样,它在其他系统中可能有各种其他名称。
但是,我真的不需要循环提供给我的所有信息。我只需要这两个。我正在考虑使用如下代码。
if("os.name" == "Windows")
{
System.out.println("Processor Data: "+ System.getenv("PROCESSOR_IDENTIFIER"));
}
但是,在那种情况下,我不知道我需要检查多少个系统(我的意思是,这些环境变量是否会从操作系统更改为操作系统或系统更改为系统?如果我说得更清楚,这些变量在 Linux 中是否相同内核或跨 Ubuntu、Fedora、Red Hat 等进行更改?)
我不知道如何通过省略其余数据来获取我需要的仅有的两个数据。请帮忙。我很高兴看到代码有帮助。谢谢