加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 23:52:11 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 在我们日常开发中,经常需要判断操作系统的版本或者系统的名字等等。这就需要我们用到jdk默认带的一些属性了。这里我对各个版本的系统都做了区分,分

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

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

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读