packagecom.fly.jenkins.util;/*** 操作系统类: 获取System.getProperty("os.name")对应的操作系统
*
*@authorisea533*/
public classOSinfo {private static String OS = System.getProperty("os.name").toLowerCase();private static OSinfo _instance = newOSinfo();privateEPlatform platform;privateOSinfo() {
}public static booleanisLinux() {return OS.indexOf("linux") >= 0;
}public static booleanisMacOS() {return OS.indexOf("mac") >= 0 && OS.indexOf("os") > 0 && OS.indexOf("x") < 0;
}public static booleanisMacOSX() {return OS.indexOf("mac") >= 0 && OS.indexOf("os") > 0 && OS.indexOf("x") > 0;
}public static booleanisWindows() {return OS.indexOf("windows") >= 0;
}public static booleanisOS2() {return OS.indexOf("os/2") >= 0;
}public static booleanisSolaris() {return OS.indexOf("solaris") >= 0;
}public static booleanisSunOS() {return OS.indexOf("sunos") >= 0;
}public static booleanisMPEiX() {return OS.indexOf("mpe/ix") >= 0;
}public static booleanisHPUX() {return OS.indexOf("hp-ux") >= 0;
}public static booleanisAix() {return OS.indexOf("aix") >= 0;
}public static booleanisOS390() {return OS.indexOf("os/390") >= 0;
}public static booleanisFreeBSD() {return OS.indexOf("freebsd") >= 0;
}public static booleanisIrix() {return OS.indexOf("irix") >= 0;
}public static booleanisDigitalUnix() {return OS.indexOf("digital") >= 0 && OS.indexOf("unix") > 0;
}public static booleanisNetWare() {return OS.indexOf("netware") >= 0;
}public static booleanisOSF1() {return OS.indexOf("osf1") >= 0;
}public static booleanisOpenVMS() {return OS.indexOf("openvms") >= 0;
}/*** 获取操作系统名字
*
*@return操作系统名*/
public staticEPlatform 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;
}/***@paramargs*/
public static voidmain(String[] args) {
System.out.println(OSinfo.getOSname());
}/*** 平台
*
*@authorisea533*/
public enumEPlatform {
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");privateEPlatform(String desc) {this.description =desc;
}publicString toString() {returndescription;
}privateString description;
}
}