有没有办法使用 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
物业。的javadocs包含System.getProperties()
您可以检索的属性的完整列表。
编辑
我刚刚在 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
您可以查询一些系统属性。查看教程以了解详细信息。这 3 个部分或全部的组合应该可以帮助您:
System.getProperty("os.arch")
System.getProperty("os.name")
System.getProperty("os.version")
看看: http ://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#getProperties%28%29
属性:'os.name'