Here is a handy Java class that use System.getProperty("os.name") to detect which type of operating system (OS) you are using now.

This code can detect “Windows”, “Mac”, “Unix” and “Solaris”.


package com.mkyong.core;

public class OSValidator {

	private static String OS = System.getProperty("os.name").toLowerCase();
	
	public static void main(String[] args) {
		
		System.out.println(OS);
		
		if (isWindows()) {
			System.out.println("This is Windows");
		} else if (isMac()) {
			System.out.println("This is Mac");
		} else if (isUnix()) {
			System.out.println("This is Unix or Linux");
		} else if (isSolaris()) {
			System.out.println("This is Solaris");
		} else {
			System.out.println("Your OS is not support!!");
		}
	}

	public static boolean isWindows() {

		return (OS.indexOf("win") >= 0);

	}

	public static boolean isMac() {

		return (OS.indexOf("mac") >= 0);

	}

	public static boolean isUnix() {

		return (OS.indexOf("nix") >= 0 || OS.indexOf("nux") >= 0 || OS.indexOf("aix") > 0 );
		
	}

	public static boolean isSolaris() {

		return (OS.indexOf("sunos") >= 0);

	}

}

References

  1. os.name value – http://lopica.sourceforge.net/os.html
  2. System.getProperty() – http://java.sun.com/j2se/1.4.2/docs/api/java/lang/System.html