Как получить имя операционной системы из клиентской программы? - PullRequest
0 голосов
/ 05 июля 2019

Некоторые части программы зависят от типа ОС. поэтому я пытаюсь ветвиться по имени ОС, как показано ниже. когда я запускаю его локально, он работает. но я запускаю его как клиентскую программу после загрузки на сервер, кажется, что он не может получить имя ОС. Пожалуйста, дайте мне знать, как я могу получить имя операционной системы из клиентской программы. спасибо.

public void getOSName() {   
   String osName = System.getProperty("os.name")
   if(!osName.trim().toUpperCase().equals("WINDOWS 10")){
   run();        
   }else{
   }
}

1 Ответ

3 голосов
/ 08 июля 2019

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

Использование системных свойств: из-за этой проблемы этот подход может потерпеть неудачу. Пожалуйста, смотрите «os.name» Java для Windows 10?

/**
 * The Class OSValidator.
 */
public final class OSValidator {

    /** The Constant OS. */
    public static final String OS = System.getProperty("os.name").toLowerCase();

    /**
     * Checks if is windows 7.
     *
     * @return true, if is windows 7
     */
    public static final boolean isWindows7() {
        return (OS.indexOf("windows 7") >= 0);
    }

    /**
     * Checks if is windows 10.
     *
     * @return true, if is windows 10
     */
    public static final boolean isWindows10() {
        return (OS.indexOf("windows 10") >= 0);
    }

    /**
     * Checks if is mac.
     *
     * @return true, if is mac
     */
    public static final boolean isMac() {
        return (OS.indexOf("mac") >= 0);
    }
}

Использование SystemUtils - Apache Commons Lang

public String getOperatingSystemSystemUtils() {
    String os = SystemUtils.OS_NAME;
    // System.out.println("Using SystemUtils: " + os);
    return os;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...