您也可以使用该.contains()
方法并仅检查“windows”字符串可能沿线
if (System.getProperty("os.name").toLowerCase().contains("windows") && System.getProperty("os.name").toLowerCase().contains(windows version here [xp, 7, 8, etc]))){}
如果您需要 Windows 版本,您可以检查所有版本,然后假设 8.1 或 10 来解决该错误。
if (System.getProperty("os.name").toLowerCase().contains("windows") && System.getProperty("os.name").toLowerCase().contains("xp")){
//code for windows xp }
else if (System.getProperty("os.name").toLowerCase().contains("windows") && System.getProperty("os.name").toLowerCase().contains("vista")){
//code for windows vista
else if (System.getProperty("os.name").toLowerCase().contains("windows") && System.getProperty("os.name").toLowerCase().contains("7")){
//code for windows 7}
else if (System.getProperty("os.name").toLowerCase().contains("windows") && System.getProperty("os.name").toLowerCase().contains("8")){
//code for windows 8}
else if (System.getProperty("os.name").toLowerCase().contains("windows") && System.getProperty("os.name").toLowerCase().contains("8.1")){
//code for both windows 8.1 and 10
}
现在解释这里发生了什么:
if语句只是判断windows版本的条件
以System.getProperty("os.name")
字符串形式返回操作系统的名称
该.toLowerCase()
方法使返回的字符串小写
该.contains(String)
方法检查给定的输入字符串是否包含在正在调用它的字符串中
最后一条语句允许每个操作系统使用不同的代码,除了需要作为一个块处理的 8.1 和 10 :(