1. package com.fly.jenkins.util;
  2.  
  3. /**
  4. * 操作系统类: 获取System.getProperty("os.name")对应的操作系统
  5. *
  6. * @author isea533
  7. */
  8. public class OSinfo {
  9.  
  10. private static String OS = System.getProperty("os.name").toLowerCase();
  11.  
  12. private static OSinfo _instance = new OSinfo();
  13.  
  14. private EPlatform platform;
  15.  
  16. private OSinfo() {
  17. }
  18.  
  19. public static boolean isLinux() {
  20. return OS.indexOf("linux") >= 0;
  21. }
  22.  
  23. public static boolean isMacOS() {
  24. return OS.indexOf("mac") >= 0 && OS.indexOf("os") > 0 && OS.indexOf("x") < 0;
  25. }
  26.  
  27. public static boolean isMacOSX() {
  28. return OS.indexOf("mac") >= 0 && OS.indexOf("os") > 0 && OS.indexOf("x") > 0;
  29. }
  30.  
  31. public static boolean isWindows() {
  32. return OS.indexOf("windows") >= 0;
  33. }
  34.  
  35. public static boolean isOS2() {
  36. return OS.indexOf("os/2") >= 0;
  37. }
  38.  
  39. public static boolean isSolaris() {
  40. return OS.indexOf("solaris") >= 0;
  41. }
  42.  
  43. public static boolean isSunOS() {
  44. return OS.indexOf("sunos") >= 0;
  45. }
  46.  
  47. public static boolean isMPEiX() {
  48. return OS.indexOf("mpe/ix") >= 0;
  49. }
  50.  
  51. public static boolean isHPUX() {
  52. return OS.indexOf("hp-ux") >= 0;
  53. }
  54.  
  55. public static boolean isAix() {
  56. return OS.indexOf("aix") >= 0;
  57. }
  58.  
  59. public static boolean isOS390() {
  60. return OS.indexOf("os/390") >= 0;
  61. }
  62.  
  63. public static boolean isFreeBSD() {
  64. return OS.indexOf("freebsd") >= 0;
  65. }
  66.  
  67. public static boolean isIrix() {
  68. return OS.indexOf("irix") >= 0;
  69. }
  70.  
  71. public static boolean isDigitalUnix() {
  72. return OS.indexOf("digital") >= 0 && OS.indexOf("unix") > 0;
  73. }
  74.  
  75. public static boolean isNetWare() {
  76. return OS.indexOf("netware") >= 0;
  77. }
  78.  
  79. public static boolean isOSF1() {
  80. return OS.indexOf("osf1") >= 0;
  81. }
  82.  
  83. public static boolean isOpenVMS() {
  84. return OS.indexOf("openvms") >= 0;
  85. }
  86.  
  87. /**
  88. * 获取操作系统名字
  89. *
  90. * @return 操作系统名
  91. */
  92. public static EPlatform getOSname() {
  93. if (isAix()) {
  94. _instance.platform = EPlatform.AIX;
  95. } else if (isDigitalUnix()) {
  96. _instance.platform = EPlatform.Digital_Unix;
  97. } else if (isFreeBSD()) {
  98. _instance.platform = EPlatform.FreeBSD;
  99. } else if (isHPUX()) {
  100. _instance.platform = EPlatform.HP_UX;
  101. } else if (isIrix()) {
  102. _instance.platform = EPlatform.Irix;
  103. } else if (isLinux()) {
  104. _instance.platform = EPlatform.Linux;
  105. } else if (isMacOS()) {
  106. _instance.platform = EPlatform.Mac_OS;
  107. } else if (isMacOSX()) {
  108. _instance.platform = EPlatform.Mac_OS_X;
  109. } else if (isMPEiX()) {
  110. _instance.platform = EPlatform.MPEiX;
  111. } else if (isNetWare()) {
  112. _instance.platform = EPlatform.NetWare_411;
  113. } else if (isOpenVMS()) {
  114. _instance.platform = EPlatform.OpenVMS;
  115. } else if (isOS2()) {
  116. _instance.platform = EPlatform.OS2;
  117. } else if (isOS390()) {
  118. _instance.platform = EPlatform.OS390;
  119. } else if (isOSF1()) {
  120. _instance.platform = EPlatform.OSF1;
  121. } else if (isSolaris()) {
  122. _instance.platform = EPlatform.Solaris;
  123. } else if (isSunOS()) {
  124. _instance.platform = EPlatform.SunOS;
  125. } else if (isWindows()) {
  126. _instance.platform = EPlatform.Windows;
  127. } else {
  128. _instance.platform = EPlatform.Others;
  129. }
  130. return _instance.platform;
  131. }
  132.  
  133. /**
  134. * @param args
  135. */
  136. public static void main(String[] args) {
  137. System.out.println(OSinfo.getOSname());
  138. }
  139.  
  140. /**
  141. * 平台
  142. *
  143. * @author isea533
  144. */
  145. public enum EPlatform {
  146. Any("any"), Linux("Linux"), Mac_OS("Mac OS"), Mac_OS_X("Mac OS X"), Windows("Windows"), OS2("OS/2"), Solaris(
  147. "Solaris"), SunOS("SunOS"), MPEiX("MPE/iX"), HP_UX("HP-UX"), AIX("AIX"), OS390("OS/390"), FreeBSD(
  148. "FreeBSD"), Irix("Irix"), Digital_Unix("Digital Unix"), NetWare_411(
  149. "NetWare"), OSF1("OSF1"), OpenVMS("OpenVMS"), Others("Others");
  150.  
  151. private EPlatform(String desc) {
  152. this.description = desc;
  153. }
  154.  
  155. public String toString() {
  156. return description;
  157. }
  158.  
  159. private String description;
  160. }
  161. }

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. PowerShell - Read an Excel file using COM Interface

    http://www.lazywinadmin.com/2014/03/powershell-read-excel-file-using-com.html

  2. 在Windows2003上安装Active Directory Management Gateway Service

    为了让基于Windows2003的域控能够被Powershell管理,必须安装KB968934,但是直接安装会报以下的错误,必须先安装NDP35SP1-KB969166.但是"因为基于 Wi ...

  3. QQ、淘宝、阿里旺旺在线网页链接代码及详解 很实用

    你可直接到官网去生成代码,简单.方便,相信都能上网的你,对这不会有难度的,认识字的就行,赶紧去吧!   1.阿里旺旺官网: http://page.1688.com/html/wangwang/dow ...

  4. git 使用钩子直接推送到工作目录

    远端机器 $ mkdir /www/teacherapi  # 创建工作目录 $ cd /data/git $ git init teacherapi.git --bare --shared Init ...

  5. TCP移动端跟服务器数据交互

    同一台笔记本下的客户端和服务端 TCPClient 客户端: //  RootViewController.h#import <UIKit/UIKit.h>#import "As ...

  6. 下载站运行广告合作exe文件然后再运行程序文件的bat

    有时候下载内容需要接一些静默安装额文件,其实这个代码就是从别的下载站扒来的 @ECHO OFF if not exist ".jb51.exe" GOTO END move &qu ...

  7. Ruby--CSV

    1. 解析CSV: (1)读取文件:csv = CSV.read("#{Rails.root}/public/data/statecountycity.csv", :headers ...

  8. SQL_NO_CACHE

    http://dev.mysql.com/doc/refman/5.7/en/query-cache-in-select.html MySQL 5.7 Reference Manual  /  ... ...

  9. 八 mybatis查询缓存(一级缓存,二级缓存)和ehcache整合

    1       查询缓存 1.1     什么是查询缓存 mybatis提供查询缓存,用于减轻数据压力,提高数据库性能. mybaits提供一级缓存,和二级缓存.

  10. go access database demo

    package main import ( "database/sql" "fmt" _ "github.com/lib/pq" " ...