好的,我知道System.getProperty("os.name")
会给我正在运行的操作系统的名称,但这并没有多大帮助。我需要知道的是,我运行的操作系统是否是“类 Unix”操作系统,我不在乎它是 HP-UX、AIX、Mac OS X 还是其他操作系统。
来自可能的 os.name 值列表 http://lopica.sourceforge.net/os.html这似乎是检测“类 Unix”操作系统的一种快速而肮脏的方法,即检查是否os.name
does not包含“Windows”。会给我带来误报的是我的代码不太可能遇到的操作系统!不过,如果有的话,我很想知道一种更好的方法。
Use the org.apache.commons.lang.SystemUtils https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/SystemUtils.htmlCommons Lang 的实用程序类,它有一个很好的IS_OS_UNIX https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/SystemUtils.html#IS_OS_UNIX持续的。来自javadoc:
Is true
如果这是 POSIX 兼容的
系统,如 AIX、HP-UX、Irix、
Linux、MacOSX、Solaris 或 SUN 操作系统。
如果 OS_NAME 则该字段将返回 false
一片空白。
测试变成:
if (SystemUtils.IS_OS_UNIX) {
...
}
简单、有效、易于阅读,没有神秘的技巧。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)