閱讀459 返回首頁    go 汽車大全


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());
	}
}

運行效果截圖:

源代碼下載地址https://download.csdn.net/detail/xmt1139057136/7232817

歡迎大家關注我的博客,或加QQ群 135430763進行相互學習。

最後更新:2017-04-03 12:56:21

  上一篇:go 【C/C++學院】(2)函數/Lua/數組/惡搞程序(修改桌麵背景,播放音樂)
  下一篇:go Android開發環境的搭建