好的,我知道 System.getProperty("os.name")
会给我正在运行的操作系统的名称,但这并没有多大帮助。我需要知道的是,我运行的操作系统是否是“类 Unix”操作系统,我不在乎它是 HP-UX、AIX、Mac OS X 还是其他什么。
来自 list of possible os.name values检测“类 Unix”操作系统的一种快速而肮脏的方法似乎是检查 os.name
是否 not 包含“Windows”。给我的误报是我的代码不太可能遇到的操作系统!不过,如果有更好的方法,我很想知道。
最佳答案
使用 org.apache.commons.lang.SystemUtils
来自 Commons Lang 的实用程序类,它有一个不错的 IS_OS_UNIX
持续的。来自 javadoc:
Is
true
if this is a POSIX compilant system, as in any of AIX, HP-UX, Irix, Linux, MacOSX, Solaris or SUN OS.The field will return false if OS_NAME is null.
然后测试变成:
if (SystemUtils.IS_OS_UNIX) {
...
}
简单、有效、易读、没有神秘的技巧。
关于java - 如何在 Java 中检测类 Unix 操作系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3282498/