有没有办法使用Java查找操作系统名称?
我尝试了下面的代码,但它只会返回类似于(Linux,Windows等)的结果。
System.getProperty("os.name")
我需要检测以下格式:
很抱歉我的英语不好 :-( !!!Linux - "ubuntu, mandriva .. ",windows - "xp,vista ..."
有任何想法吗?
有没有办法使用Java查找操作系统名称?
我尝试了下面的代码,但它只会返回类似于(Linux,Windows等)的结果。
System.getProperty("os.name")
很抱歉我的英语不好 :-( !!!Linux - "ubuntu, mandriva .. ",windows - "xp,vista ..."
System.getProperty()
方法获取以下属性:
os.name
:操作系统名称os.arch
:操作系统架构os.version
:操作系统版本os.version
属性。 System.getProperties()
的javadocs包含了您可以检索的所有属性的完整列表。
编辑
我刚刚在 Linux Mint 上进行了测试,发现获取 os.version
属性实际上返回的是内核版本,而不是发行版版本:Linux
amd64
2.6.38-8-generic
在阅读这篇文章后,似乎没有可靠的方法可以通过Java API找到正在运行的Linux发行版。
如果您知道自己正在运行Linux,则可以从Java中运行以下系统命令之一,但您需要使用grep /解析出发行版:
cat /etc/*-release
System.out.println("\nName of the OS: " + System.getProperty("os.name"));
System.out.println("Version of the OS: " + System.getProperty("os.version"));
System.out.println("Architecture of the OS: " + System.getProperty("os.arch"));
编辑:在Windows下,它返回以下内容:
Name of the OS: Windows XP
Version of the OS: 5.1
Architecture of the OS: x86
您可以查询一些系统属性。请参阅教程以获取详细信息。这三个属性的某些或全部组合应该能帮助您:
System.getProperty("os.arch")
System.getProperty("os.name")
System.getProperty("os.version")
os.name
会返回例如Windows XP
。 - assylias