gpt4 book ai didi

java - 使用环境变量获取特定系统信息

转载 作者:行者123 更新时间:2023-12-02 07:35:17 24 4
gpt4 key购买 nike

请看下面的代码

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 环境变量是 UNIX 系统中的 LOGIN 或用户名。像这样,它在其他系统中可能有各种其他名称。

但是,我真的不需要循环提供给我的所有信息。我只需要这两个。我正在考虑使用如下代码。

if("os.name" == "Windows")
{
System.out.println("Processor Data: "+ System.getenv("PROCESSOR_IDENTIFIER"));
}

但是,在这种情况下,我不知道需要检查多少个系统(我的意思是,这些环境变量是否从操作系统到操作系统或从系统到系统发生变化?如果我说得更清楚的话,这些变量是否是Linux 内核中相同或在 Ubuntu、Fedora、Red Hat 等之间进行更改?)

我不知道如何通过省略其余数据来获取我需要的唯一两个数据。请帮忙。我很高兴看到代码有帮助。谢谢

最佳答案

你能尝试一下Runtime.getRuntime().availableProcessors();吗?

关于java - 使用环境变量获取特定系统信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12341351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com