首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java中检测类Unix操作系统?

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

Stack Overflow用户
提问于 2010-07-19 23:31:49
回答 7查看 21.3K关注 0票数 35

好吧,我知道System.getProperty("os.name")会给我提供我正在运行的操作系统的名称,但这不会有太多帮助。我需要知道的是,如果我运行的操作系统是“类Unix”操作系统,我并不关心它是HP-UX、AIX、Mac还是其他什么。

list of possible os.name values上看,检测“类Unix”操作系统的一种快捷方法是检查os.name是否包含“”而不是“”。给我的误报是OSes,我的代码不太可能遇到!尽管如此,如果有更好的方法,我很想知道。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-07-19 23:43:09

我已经在Windows XP、Vista、Win7、MacOS10.3- 10.6和各种Linux发行版上使用了您的方案,没有出现任何问题:

代码语言:javascript
复制
    if (System.getProperty("os.name").startsWith("Windows")) {
        // includes: Windows 2000,  Windows 95, Windows 98, Windows NT, Windows Vista, Windows XP
    } else {
        // everything else
    } 

本质上,检测类Unix是通过而不是检测Windows。

票数 22
EN

Stack Overflow用户

发布于 2010-07-19 23:44:15

Javadoc说:在UNIX系统上,这个*字段的值是'/';在Microsoft Windows系统上,它是'\'

代码语言:javascript
复制
System.out.println( File.separatorChar == '/' ? "Unix" : "Windows" );
票数 10
EN

Stack Overflow用户

发布于 2010-07-19 23:34:02

System.getProperty("os.name");大概是你能得到的最好的了。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3282498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档