程序的某些部分受操作系统类型的影响。 所以我尝试按操作系统名称进行分支,如下所示。 当我在本地运行它时,它有效。但我将其上传到服务器后作为客户端程序运行,似乎无法获取操作系统名称。 请让我知道如何从客户端程序获取操作系统名称。 谢谢。
public void getOSName() {
String osName = System.getProperty("os.name")
if(!osName.trim().toUpperCase().equals("WINDOWS 10")){
run();
}else{
}
}
最佳答案
检查下面的 util 类以进行操作系统验证。
Using System properties : Due to this issue this approach may fail. Please see Java's “os.name” for 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);
}
}
Using SystemUtils – Apache Commons Lang
public String getOperatingSystemSystemUtils() {
String os = SystemUtils.OS_NAME;
// System.out.println("Using SystemUtils: " + os);
return os;
}
关于java - 如何从客户端程序获取操作系统名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56897149/