I have a Java app which needs to run differently when on Windows 7.
How would you check which Windows version is present? Is it enough to check for OS version 6.1?
I have a Java app which needs to run differently when on Windows 7.
How would you check which Windows version is present? Is it enough to check for OS version 6.1?
I've solved the same problem checking also for os.name
, in a null-safe way:
public boolean runningOnWindows7() {
String osName = System.getProperty("os.name");
String osVersion = System.getProperty("os.version");
return "Windows 7".equals(osName) && "6.1".equals(osVersion);
}
OS Version Numbers are rather distinct.
For example, XP is denoted with the number 5.1 and Windows 7 denoted by 6.1
The build numbers determine the updates, and service packs.
It should be rather reliable checking OS version number. but keep in mind that Java is allowed to run on Linux and Mac if Java is installed on the machine.
System.getProperty("os.name")
System.getProperty("os.version")
Windows 7 = version 6.1
Fix to dfa's answer:
public boolean runningOnWindows7() {
String osName = System.getProperty("os.name");
String osVersion = System.getProperty("os.version");
return "Windows 7".equals(osName) || "6.1".equals(osVersion);
}
|| instead of &&