java - 如何在 Java 中检测类 Unix 操作系统?

标签 java unix

好的,我知道 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/

相关文章:

java - 如果我在创建对象时已经打开连接,是否需要执行 HTTPUrlConnection.connect() ?

java - 如何在 selenium 测试中使用 java 代码检测两个 chrome 浏览器窗口之间的音频连接?

sql - 运行 sql 文件而不打印其内容 POSTGRES

windows - 如何通过 pbrun 运行 SFTP

Java StringBuilder - append 字符

java - Red5视频流录制中断

java - 如何从Java代码中的数据库表中获取最大ID

unix - 如何从 .doc 和 .docx 文件中提取纯文本?

linux - 使用 awk 在不同行上对多个字段进行数学运算

c - 根据文件中的键排序