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. 静态页分页功能js代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. hdu

    这道题因为某些位置要重复走,所以不能用标记的方法,但是为了提高效率,可以采用time[]数组和step[]数组来剪枝,很容易想到,当你从一条路劲走到(x,y)处的时间和步骤 比从另一条路劲走到(x,y ...

  3. 星外虚拟主机跨web目录文件读取漏洞

    星外虚拟主机跨目录读取文件漏洞,需要一定条件. 问题发生在以下文件,这些文件都没有严格的设置执行权限,当前的IIS用户能够顺利的利用它们执行命令: c:\windows\7i24IISLOG.exe ...

  4. Mui - 全局css

    头部(mh) <header class="mui-bar mui-bar-nav"> <a class="mui-action-back mui-ic ...

  5. Java发展史之Java由来

    Java:由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称.Java语言是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由当时任职太阳微系统的 ...

  6. 【IOS笔记】View Programming Guide for iOS -1

    原文:View Programming Guide for iOS View and Window Architecture Views and windows present your applic ...

  7. Nobel Lecture, December 12, 1929 Thermionic phenomena and the laws which govern them

    http://www.nobelprize.org/nobel_prizes/physics/laureates/1928/richardson-lecture.pdf OWEN W. RICHARD ...

  8. php mysql 事务处理

    MYSQL 的事务处理主要有两种方法. 1 .用 begin,rollback,commit 来实现 begin 开始一个事务 rollback 事务回滚 commit 事务确认    2 .直接用  ...

  9. 【转】c# 解析JSON的几种办法

    http://www.cnblogs.com/ambar/archive/2010/07/13/parse-json-via-csharp.html 刚开始只是想找一个转换JSON数组的方法,结果在M ...

  10. java new synchronized

    java provides the synchronized keyword for synchronizing thread access to critical sections. Because ...