Рубрики
Без рубрики

Как определить ОС на Java

В Java мы можем использовать System.getProperty(“os.name “) получите имя операционной системы.

В этой статье показан удобный класс Java, который использует System.getProperty("os.name ") чтобы определить, какой тип операционной системы (ОС) вы используете сейчас.

1. Обнаружение операционной системы (Оригинальная версия)

Этот код может обнаруживать Windows , Mac , Unix и Solaris .

package com.mkyong.system;

public class OSValidator {

    private static String OS = System.getProperty("os.name").toLowerCase();

    public static void main(String[] args) {

        System.out.println("os.name: " + 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);
    }

}

Вывод, запустите в Windows 10.

os.name: windows 10
This is Windows

2. Обнаружение операционной системы (Расширенная версия)

Поскольку операционная система останется прежней для запущенного приложения Java, мы можем повысить производительность, переместив проверку ОС в статические поля; Статика гарантирует, что проверка OS.indexOf выполняется только один раз.

package com.mkyong.system;

public class OSValidator {

    private static String OS = System.getProperty("os.name").toLowerCase();
    public static boolean IS_WINDOWS = (OS.indexOf("win") >= 0);
    public static boolean IS_MAC = (OS.indexOf("mac") >= 0);
    public static boolean IS_UNIX = (OS.indexOf("nix") >= 0 || OS.indexOf("nux") >= 0 || OS.indexOf("aix") > 0);
    public static boolean IS_SOLARIS = (OS.indexOf("sunos") >= 0);

    public static void main(String[] args) {

        System.out.println("os.name: " + OS);

        if (IS_WINDOWS) {
            System.out.println("This is Windows");
        } else if (IS_MAC) {
            System.out.println("This is Mac");
        } else if (IS_UNIX) {
            System.out.println("This is Unix or Linux");
        } else if (IS_SOLARIS) {
            System.out.println("This is Solaris");
        } else {
            System.out.println("Your OS is not support!!");
        }
    }

}

Скачать Исходный Код

$клон git $клон git

$cd java-базовый/системный

Рекомендации

Оригинал: “https://mkyong.com/java/how-to-detect-os-in-java-systemgetpropertyosname/”