package com.fly.jenkins.util;

/**
* 操作系统类: 获取System.getProperty("os.name")对应的操作系统
*
* @author isea533
*/
public class OSinfo { private static String OS = System.getProperty("os.name").toLowerCase(); private static OSinfo _instance = new OSinfo(); private EPlatform platform; private OSinfo() {
} public static boolean isLinux() {
return OS.indexOf("linux") >= 0;
} public static boolean isMacOS() {
return OS.indexOf("mac") >= 0 && OS.indexOf("os") > 0 && OS.indexOf("x") < 0;
} public static boolean isMacOSX() {
return OS.indexOf("mac") >= 0 && OS.indexOf("os") > 0 && OS.indexOf("x") > 0;
} public static boolean isWindows() {
return OS.indexOf("windows") >= 0;
} public static boolean isOS2() {
return OS.indexOf("os/2") >= 0;
} public static boolean isSolaris() {
return OS.indexOf("solaris") >= 0;
} public static boolean isSunOS() {
return OS.indexOf("sunos") >= 0;
} public static boolean isMPEiX() {
return OS.indexOf("mpe/ix") >= 0;
} public static boolean isHPUX() {
return OS.indexOf("hp-ux") >= 0;
} public static boolean isAix() {
return OS.indexOf("aix") >= 0;
} public static boolean isOS390() {
return OS.indexOf("os/390") >= 0;
} public static boolean isFreeBSD() {
return OS.indexOf("freebsd") >= 0;
} public static boolean isIrix() {
return OS.indexOf("irix") >= 0;
} public static boolean isDigitalUnix() {
return OS.indexOf("digital") >= 0 && OS.indexOf("unix") > 0;
} public static boolean isNetWare() {
return OS.indexOf("netware") >= 0;
} public static boolean isOSF1() {
return OS.indexOf("osf1") >= 0;
} public static boolean isOpenVMS() {
return OS.indexOf("openvms") >= 0;
} /**
* 获取操作系统名字
*
* @return 操作系统名
*/
public static EPlatform getOSname() {
if (isAix()) {
_instance.platform = EPlatform.AIX;
} else if (isDigitalUnix()) {
_instance.platform = EPlatform.Digital_Unix;
} else if (isFreeBSD()) {
_instance.platform = EPlatform.FreeBSD;
} else if (isHPUX()) {
_instance.platform = EPlatform.HP_UX;
} else if (isIrix()) {
_instance.platform = EPlatform.Irix;
} else if (isLinux()) {
_instance.platform = EPlatform.Linux;
} else if (isMacOS()) {
_instance.platform = EPlatform.Mac_OS;
} else if (isMacOSX()) {
_instance.platform = EPlatform.Mac_OS_X;
} else if (isMPEiX()) {
_instance.platform = EPlatform.MPEiX;
} else if (isNetWare()) {
_instance.platform = EPlatform.NetWare_411;
} else if (isOpenVMS()) {
_instance.platform = EPlatform.OpenVMS;
} else if (isOS2()) {
_instance.platform = EPlatform.OS2;
} else if (isOS390()) {
_instance.platform = EPlatform.OS390;
} else if (isOSF1()) {
_instance.platform = EPlatform.OSF1;
} else if (isSolaris()) {
_instance.platform = EPlatform.Solaris;
} else if (isSunOS()) {
_instance.platform = EPlatform.SunOS;
} else if (isWindows()) {
_instance.platform = EPlatform.Windows;
} else {
_instance.platform = EPlatform.Others;
}
return _instance.platform;
} /**
* @param args
*/
public static void main(String[] args) {
System.out.println(OSinfo.getOSname());
} /**
* 平台
*
* @author isea533
*/
public enum EPlatform {
Any("any"), Linux("Linux"), Mac_OS("Mac OS"), Mac_OS_X("Mac OS X"), Windows("Windows"), OS2("OS/2"), Solaris(
"Solaris"), SunOS("SunOS"), MPEiX("MPE/iX"), HP_UX("HP-UX"), AIX("AIX"), OS390("OS/390"), FreeBSD(
"FreeBSD"), Irix("Irix"), Digital_Unix("Digital Unix"), NetWare_411(
"NetWare"), OSF1("OSF1"), OpenVMS("OpenVMS"), Others("Others"); private EPlatform(String desc) {
this.description = desc;
} public String toString() {
return description;
} private String description;
}
}

Java工具类(获取当前主机操作系统名)的更多相关文章

  1. java工具类 获取包下所有类

    extends:http://blog.csdn.net/jdzms23/article/details/17550119 package com.threeti.util; import java. ...

  2. JAVA工具类获取HttpServletRequest、HttpServletResponse 对象

    添加依赖 <!-- Spring Web --> <dependency> <groupId>org.springframework</groupId> ...

  3. java工具类获取properties文件的配置

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i ...

  4. 使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间。

    1.使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间. package com.fline.aic.utils; import java.text.DateFormat ...

  5. Java 工具类 IpUtil - 获取本机所有 IP 地址,LocalHost 对应地址 IP

    Java 工具类 IpUtil - 获取本机所有 IP 地址,LocalHost 对应地址 IP IP 工具类 源代码: /** * <p> * * @author XiaoPengwei ...

  6. 排名前 16 的 Java 工具类

    在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. ...

  7. 排名前16的Java工具类

    原文:https://www.jianshu.com/p/9e937d178203 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法 ...

  8. 干货:排名前16的Java工具类

    在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. ...

  9. 常用高效 Java 工具类总结

    一.前言 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码 ...

随机推荐

  1. 简单Qt网络通信

    最近要用到Qt的Socket部分,网上关于这部分的资料都比较复杂,我在这总结一下,把Socket的主要部分提取出来,实现TCP和UDP的简单通信. 1.UDP通信 UDP没有特定的server端和cl ...

  2. thinkphp模板中foreach循环没数据的错误解决

    从控制器方法中$this->assign();函数将值传递给html模板 但是模板不显示数据,直接出来的是代码,效果就和html中写了php代码不能解析一样. 原来是我将thinkphp框架的引 ...

  3. C# - JSON操作

    Newtonsoft.dll插件 http://download.csdn.net/detail/xinping_168/4710720 洪大师二次封装: using System; using Sy ...

  4. [学点英语]扎克伯格给女儿的信,translation of zucherber's letter to her daughter( Chinese version)

    A letter to our daughter 扎克伯格写给女儿的信   Mark Zuckerberg·Tuesday, December 1, 2015 Dear Max, 亲爱的玛克斯 You ...

  5. 学会查看tomcat的日志文件

    1.Tomcat的启动日志写出了几乎所有的启动历史记录, 包括部署项目,deploy项目.用了什么log日志记录软件,启动的tomcat引擎是什么,正在部署什么项目deploying

  6. Django 1.8安装使用

    1.使用pip安装django, pip是什么,如何安装?自行放狗搜 # pip install "django<1.9" 2.创建项目 # django-admin sta ...

  7. OAuth2.0协议

    简介  OAuth(Open Authorization),协议为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAuth的授权不会使第三方触及到用户的帐号信息(如用户 ...

  8. Delphi Application.MessageBox详解

    引数:1. Text:要显示的讯息2. Caption:讯息视窗的标题列文字3. Flags:讯息旗标     3.1. 可指定讯息视窗上的图示     3.2. 可指定讯息视窗出现的按钮     3 ...

  9. Java中只有按值传递,没有按引用传递!

      今天,我在一本面试书上看到了关于java的一个参数传递的问题: 写道 java中对象作为参数传递给一个方法,到底是值传递,还是引用传递? 我毫无疑问的回答:“引用传递!”,并且还觉得自己对java ...

  10. oracle EBS 资产定义

    一.资产定义也就是江项目任务上的特定(能生成资产的)物料按照一定格式生成资产信息,其中每个独立物料生成一条资产,具体操作步骤如下: 1.省本部库存超级用户系统内生成领料单.审批领料单.最后进行出库处理 ...