2010-02-16 7 views
7

Ich habe eine Java-Anwendung, die unter Windows 7 anders ausgeführt werden muss.Wie für Windows 7-Plattform testen?

Wie überprüfen Sie, welche Windows-Version vorhanden ist? Reicht es aus, nach der Betriebssystemversion 6.1 zu suchen?

+0

Danke für die Antworten! Ich frage mich auch, wie die Versionsnummer nach dem nächsten Service Pack aussieht - 6.1.1 oder was? Wenn ja, ist es kein einfaches Double mehr ... – paul

+2

Wenn Sie nach der Windows-Version suchen, greifen Sie Ihr Problem wahrscheinlich aus dem falschen Blickwinkel an. Was willst du erreichen? –

+0

@ So/ren - es ist nur, dass die PC-Abteilung den Standard-Datenspeicherpfad für neue (Win7) Rollouts ändern möchte. Ich muss einen separaten Pfad verwenden. Ich denke, ich könnte eine Umgebungsvariable anfordern, aber es ist jetzt zu spät ... – paul

Antwort

5

Ich habe das gleiche Problem Überprüfung auch für os.name gelöst, in einer Null-sicheren Art und Weise:

public boolean runningOnWindows7() { 
    String osName = System.getProperty("os.name"); 
    String osVersion = System.getProperty("os.version"); 
    return "Windows 7".equals(osName) && "6.1".equals(osVersion); 
} 
2

OS-Versionsnummern sind ziemlich unterschiedlich.

Zum Beispiel wird XP bezeichnet mit der Nummer 5.1 und Windows 7 bezeichnet mit 6.1

Die Build-Nummern, die Updates bestimmen und Service Pack.

Es sollte ziemlich zuverlässig überprüfen OS Versionsnummer. Beachten Sie jedoch, dass Java unter Linux und Mac ausgeführt werden darf, wenn Java auf dem Computer installiert ist.

2
System.getProperty("os.name") 
System.getProperty("os.version") 

Windows 7 = Version 6.1

1

Fix DFA ‚s Antwort :

public boolean runningOnWindows7() { 
    String osName = System.getProperty("os.name"); 
    String osVersion = System.getProperty("os.version"); 
    return "Windows 7".equals(osName) || "6.1".equals(osVersion); 
} 

|| statt & &