有没有办法用java找到os名字?
我试过下面的代码,但它会返回看起来像(Linux,windows ..)
System.getProperty("os.name")
我需要检测以下格式
抱歉我的英文:-( !!!Linux - “ubuntu,mandriva ..”,windows - “xp,vista ......”
有什么想法吗?
答案 0 :(得分:11)
您可以使用System.getProperty()
获取以下属性:
os.name
:操作系统名称os.arch
:操作系统架构os.version
:操作系统版本在您的情况下,我相信您正在寻找os.version
财产。 System.getProperties()
的{{3}}包含您可以检索的完整属性列表。
修改强>
我刚刚在Linux Mint中对此进行了测试,看起来获取os.version
属性实际上返回内核版本,而不是发行版:
Linux
amd64
2.6.38-8-generic
找到javadocs之后,似乎没有可靠的方法来查找您通过Java API运行的Linux发行版。
如果您知道自己在Linux中运行,则可以从Java运行以下系统命令之一,但您必须grep /解析分发:
cat /etc/*-release
答案 1 :(得分:5)
这可能会对您有所帮助:
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
答案 2 :(得分:1)
您可以查询一些系统属性。有关详细信息,请查看the tutorial。这些中的部分或全部3的组合可以帮助您:
System.getProperty("os.arch")
System.getProperty("os.name")
System.getProperty("os.version")
答案 3 :(得分:0)
看看: http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#getProperties%28%29
property:'os.name'