# Wie das OS und Sprache feststellen?



## AndreasGerste (1. Jul 2005)

Hallo,

ich wollte mit System.getProperty("os.version") bzw. System.getProperty("os.name") gerne das Betriebssystem auslesen. Bei mir (Win XP Prof SP2)  wird "5.1" bzw. "Windows XP" ausgebeben.

Könnt ihr mir sagen, was bei Win95,98,Me,2000 dort steht?

Außerdem wüßte ich gerne ob es eine Möglichkeit gibt herauszubekommen ob SP2 installiert ist und welche Sprache das Betriebssystem hat (deutsch, englisch,...).

Nach Möglichkeit sollte es noch mit java 1.4  funktionieren.

viele grüße
andreas


----------



## thomas.g (1. Jul 2005)

System.out.println(System.getProperties().toString));

.... oder so


----------



## Roar (1. Jul 2005)

sprache: Locale.getDefault() ist die systemsprache sofern du sie im programm die Locale nicht manuell geändert hast.


----------



## Dukel (2. Jul 2005)

AndreasGerste hat gesagt.:
			
		

> Hallo,
> 
> [...]
> Könnt ihr mir sagen, was bei Win95,98,Me,2000 dort steht?
> ...



Gibt es evtl. irgendwo eine Tabelle mit den Werten?
Und hast du diese OS? Dann kannst du das ja mal mit VMWare testen.


----------



## L-ectron-X (2. Jul 2005)

Windows 95
Windows 98 (was bei SE steht weiß ich nicht, könnte in os.version zu lesen sein)
Windows 2000
Windows XP

Wenn es dir nur darauf ankommt, auf ein Windows-System abzufragen kannst du auch schreiben:

```
String system = System.getProperty("os.name");
if(system.startsWith("Windows")) {
 ...
```


----------



## DeMon Toll (1. Okt 2007)

Hi leutz,

ich hab auch das selbe Problem und zwar soll bei mir ermittelt werden welche Windowsversion installiert ist, damit nicht alle funktionen in meinem Programm zur verfügung stehen (also sprich mit *.setVisible(false); ). Die bisherigen Vorschläge haben bei mir bis dato noch nicht geholfen.

Danke schon mal im vorraus


DeMon


----------



## madboy (1. Okt 2007)

Abgesehen vom Sinn (warum sollte ein Benutzer mit Windows 98 andere Funktionen haben/brauchen wie einer mit XP, ganz zu schweigen von anderen Betriebssystemen :wink: ):

Was funktioniert nicht bei System.getProperty("os.name");?


----------



## DeMon Toll (1. Okt 2007)

nuja^^...zum Sinn:

es gibt ja consolen befehle die nur unter vista bzw. unter xp funktionieren (sdclt  --  Datensicherung (nur Vista) rtcshare.exe   --  Gemeinsame Sitzungen (nur XP)). Die unterscheidung ist in sofern wichtig da ich ein programm schreiben muss was einem die Consoleneingaben erspart zumindest einen großteil davon . Über den Sinn dieser Aufgabe lässt sich natürlich streiten^^....aber da ich in meiner Ausbildung auch Java lernen muss hielt es mein Ausbildungsleiter für ne dolle idee^^. Deswegen diese Unterscheidung in meinem Falle.


Was an System.getProperty("os.name"); nicht funktioniert ist das er mir als Wert "null" ausgibt.



grüße


DeMon


----------



## madboy (1. Okt 2007)

Ja ok. Dann ist wohl schon ein gewisser Sinn dahinter. Sorry für die Zweifel ;-)

Gib dir am besten mal alle Properties aus. Evtl. hilft dir das schon weiter.

```
Properties p = System.getProperties();
        for(Object key : p.keySet()) {
            System.out.println("key: " + key + " value: " + p.getProperty((String)key));
        }
```


----------



## DeMon Toll (1. Okt 2007)

jo np is ja auch nich gerade alltäglich so eine Aufgabe von dem her passt schon

k werds aber zuhause aupsrobieren hab endlich Feierabend *juhuuuuu*


Schönen (Feier-)abend an alle 


DeMon


----------



## Guest (4. Okt 2007)

Hi,

öhm madboy welche imports brauch ich denn für die Properties?


DeMon


----------



## madboy (4. Okt 2007)

import java.util.Properties;


----------



## byte (4. Okt 2007)

http://java.sun.com/javase/6/docs/api/


----------



## Guest (4. Okt 2007)

danke euch beiden für die Antwort, Funktioniert hat wohl an dem fehlenden import gelegen (schande über mein haupt^^)

@byto: THX den Link werd ich mir merken



DeMon

info @mod/admin: Kann gelöscht/geclosed werden danke!


----------



## Guest (4. Okt 2007)

LÖSUNGSHINWEIS FÜR LESEFAULE: 

                           import java.util.Properties;

dann System.getProperty("os.name"); einfügen und Lösung auslesen und weiterverarbeiten ^^.


so hats bei mir funktioniert 



DeMon


----------



## DeMon Toll (4. Okt 2007)

Anonymous hat gesagt.:
			
		

> LÖSUNGSHINWEIS FÜR LESEFAULE:
> 
> import java.util.Properties;
> 
> ...





OMG


sry dachte ich hätte den tread eröffnet . Dann natürlich noch nicht schließen^^. *verlegendingegendrumguckt*






eMon


----------

