如何从客户端程序中获取OS名称



程序的某些部分受OS类型的影响。因此,我尝试按以下方式按OS名称进行分支。当我在本地运行它时,它可以工作。但是,将其上传到服务器后,我将其作为客户端程序运行,看来它无法获取OS名称。请让我知道如何从客户端程序中获取OS名称。谢谢。

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

在OS验证的UTIL类下方结帐。

使用系统属性:由于此问题,此方法可能会失败。请参阅Windows 10的Java的" OS.Name"?

/**
 * 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;
}

最新更新