英文:
How to get OS details using java
问题
我知道我们可以使用System.getProperty("os.name");
来获取操作系统名称。但由于某种原因,有人设置了一个名为JAVA_TOOL_OPTIONS="-Dos.name=Windows 7"
的环境变量,这导致无法获取原始的操作系统名称,而总是得到操作系统名称为Windows 7。
我们是否有任何方法可以获取原始的操作系统详细信息?
英文:
I know we can use System.getProperty("os.name");
to get the os name. But due to some reason someone has set an environment variable called JAVA_TOOL_OPTIONS="-Dos.name=Windows 7"
which is causing not to get the original OS name instead its always getting the OS name as Window 7.
Do we have any way where we can get the original OS details?
答案1
得分: 1
你可以使用Apache Commons Lang,类名是SystemUtils
。你可以使用以下代码。
String osName = SystemUtils.OS_NAME;
System.out.println("操作系统名称:" + osName);
你需要将Apache Commons Lang添加到类路径中。
如果以上方法都不起作用,那么你需要逐个执行针对特定操作系统的命令,直到获得正确的结果。但这不是正确的方法,只是一种权宜之计。
对于Windows,执行ver
命令。
对于Linux,执行cat /etc/*-release
或者lsb_release -a
命令。
英文:
You can use Apache Commons Lang, class name is SystemUtils
. You can use the below code.
String osName = SystemUtils.OS_NAME;
System.out.println("OS NAME: " + osName);
You have to add the Apache Commons Lang in the classpath.
If nothing works then you have to execute the commands specific to OS one by one until you get the correct result. But this is not the correct approach, it is just a work around.
For Windows, execute ver
For Linux, execute cat /etc/*-release
or lsb_release -a
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论