Java准确的获取操作系统的名称

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
在我们日常开发中,经常需要判断操作系统的版本或者系统的名字等等。这就需要我们用到jdk默认带的一些属性了。这里我对各个版本的系统都做了区分,分别能判断mac,linux,window等大众的操作系统名称。直接看代码(OSUtil.java):
    package com.herman.util;  
    /** 
     * @see 获取操作系统名称 
     * @author Herman.Xiong 
     * @date 2014年4月22日 13:36:14 
     * @version V1.0 
     * @since jdk 1.6 
     */  
    public class OSUtil {  
        private static final boolean osIsMacOsX;  
        private static final boolean osIsWindows;  
        private static final boolean osIsWindowsXP;  
        private static final boolean osIsWindows2003;  
        private static final boolean osIsWindowsVista;  
        private static final boolean osIsLinux;  
        private static final boolean osIsWindowsWin7;  
        private static final boolean osIsWindowsWin8;  
      
        static {  
            String os = System.getProperty("os.name");  
            if (os != null)  
                os = os.toLowerCase();  
            osIsMacOsX = "mac os x".equals(os);  
            osIsWindows = os != null && os.indexOf("windows") != -1;  
            osIsWindowsXP = "windows xp".equals(os);  
            osIsWindows2003 = "windows 2003".equals(os);  
            osIsWindowsVista = "windows vista".equals(os);  
            osIsLinux = os != null && os.indexOf("linux") != -1;  
            osIsWindowsWin7 = os !=null && os.indexOf("windows 7") != -1;  
            osIsWindowsWin8 = os !=null && os.indexOf("windows 8") != -1;  
        }  
      
        public static boolean isMacOSX() {  
            return osIsMacOsX;  
        }  
      
        public static boolean isWindows() {  
            return osIsWindows;  
        }  
      
        public static boolean isWindowsXP() {  
            return osIsWindowsXP;  
        }  
      
        public static boolean isWindows2003() {  
            return osIsWindows2003;  
        }  
      
        public static boolean isWindowsVista() {  
            return osIsWindowsVista;  
        }  
      
        public static boolean isLinux() {  
            return osIsLinux;  
        }  
      
        public static boolean IsWindowsWin7(){  
            return osIsWindowsWin7;  
        }  
          
        public static boolean IsWindowsWin8(){  
            return osIsWindowsWin8;  
        }  
    }  

精华都在上面。下面我们用各种jdk版本和各种操作系统进行测试。测试代码(TestOS.java):
    package com.herman.test;  
      
    import com.herman.util.OSUtil;  
    /** 
     * @see 测试操作系统类型 
     * @author Herman.Xiong 
     * @date 2014年4月22日 13:40:06 
     * @version V1.0 
     * @since jdk 1.6 
     */  
    public class TestOs {  
          
        public static String getVersion(){  
            return "当前版本 V1.0 2014年4月22日 11:57:20";  
        }   
        public static void main(String[] args) {  
            System.out.println(System.getProperty("os.name"));  
            System.out.println(getVersion());  
            System.out.println("当前系统为Mac系统:"+OSUtil.isMacOSX());  
            System.out.println("当前系统为Linux系统:"+OSUtil.isLinux());  
            System.out.println("当前系统为Window系统:"+OSUtil.isWindows());  
            System.out.println("当前系统为Windows2003系统:"+OSUtil.isWindows2003());  
            System.out.println("当前系统为WindowsVista系统:"+OSUtil.isWindowsVista());  
            System.out.println("当前系统为WindowsXP系统:"+OSUtil.isWindowsXP());  
            /* 
             * 注意:如果使用的1.6的jdk,那么对于win7和win8系统都显示的“Windows Vista” 
             * 如果要正确判断win7还是win8系统,则需要使用jdk1.7 
             * android系统需要稍微改动 
             */  
            System.out.println("当前系统为Windows7系统:"+OSUtil.IsWindowsWin7());  
            System.out.println("当前系统为Windows8系统:"+OSUtil.IsWindowsWin8());  
        }  
    }  

标签: linux 代码

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:JavaScript 模仿Java的Map集合,实现功能

下一篇:Android 平移动画xml配置