Java准确的获取操作系统的名称详解编程语言

在我们日常开发中,经常需要判断操作系统的版本或者系统的名字等等。这就需要我们用到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());   
        }   
    }  


Java准确的获取操作系统的名称详解编程语言

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/10822.html

(0)
上一篇 2021年7月19日 10:29
下一篇 2021年7月19日 10:29

相关推荐

发表回复

登录后才能评论