DevBug blog

О Linux, Java, разработке ПО и не только

Java: Как определить тип и версию ОС

2011-10-27 Java Aliaksei Bahdanau

Недавно возник вопрос, как в Java получить тип и версию ОС. Оказалось, что это вовсе не сложно. Достаточно воспользоваться методом System.getProperty. Если данному методу передать строковое значение “os.name”, то мы получим название ОС. Если же передать строковое значение вида: os.version, то мы получим версию ОС. Итак, на практике все это будет выглядеть примерно так:

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class MainApp {

    /**
     * @param args
     */
    public static void main(String[] args) {
        if(isWindows()){
            System.out.println("This is Windows");
            System.out.println("It's version is: " + getOSVerion());
}else if(isMac()){
            System.out.println("This is Macintosh");
            System.out.println("It's version is: " + getOSVerion());
        }else if(isUnix ()){
            System.out.println("This is Unix or Linux OS");
             System.out.println("It's version is: " + getOSVerion());
        }else{
            System.out.println("This is unknown OS");
        }
        System.out.println("Version: " + getOSVerion());
    }

    public static boolean isWindows(){

        String os = System.getProperty("os.name").toLowerCase();
        //windows
        return (os.indexOf( "win" ) >= 0); 

    }

    public static boolean isMac(){

        String os = System.getProperty("os.name").toLowerCase();
        //Mac
        return (os.indexOf( "mac" ) >= 0); 

    }

    public static boolean isUnix (){

        String os = System.getProperty("os.name").toLowerCase();
        //linux or unix
        return (os.indexOf( "nix") >=0 || os.indexOf( "nux") >=0);

    }
    public static String getOSVerion() {
        String os = System.getProperty("os.version");
        return os;
    }
}

Более подробную информацию о System.getProperty() можно почитать в Java Doc,

а с более подробной спецификацией ОС и архитектур можно ознакомиться тут.

comments powered by Disqus